我们正在运行其他 ECS 服务,这些服务使用我们的私有 ECR 存储库中的映像。然而,对于同一集群中尝试从 Docker Hub 拉取的服务,我们收到以下错误:
CannotPullContainerError:检查图像已重试 5 次:httpReaderSeeker:打开失败:意外状态代码 https://registry-1.docker.io...:4...
(消息本身在末尾被截断:它实际上是“4...”)。
从它收到状态代码响应的事实来看,这表明它能够与 Docker Hub 通信,并且这不是我们的 AWS 配置中的网络连接问题。我们正在尝试在我们的 ECS 任务中使用来自公共存储库的图像,一个是 Redis 图像,另一个是 Hasura 图像。我不确定如何查看状态代码本身,因为它在 AWS 控制台中被截断。
当我在浏览器中点击错误中的URL时,响应如下:
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"repository","Class":"","Name":"hasura/graphql-engine","Action":"pull"}]}]}
Run Code Online (Sandbox Code Playgroud)
我通过 Redis 镜像得到了类似的响应。我认为我们不需要任何身份验证来提取公共镜像 - 我们过去运行 ECS 任务不需要对 Docker Hub 进行身份验证?
为了完整起见,我添加了以下检查来解决此错误,但是如上所述,由于我们从 Docker Hub 获取响应代码,因此这些检查看起来并不相关。
AWS 有本指南来解决“CannotPullContainer”错误,对于 Fargate 上的这个特定错误,有本指南。以下是我们检查过的指南中的内容:
确认您的 VPC 网络配置允许您的 Amazon ECS 基础设施访问映像存储库
此 ECS 任务位于私有子网中,其路由表具有以下路由:
10.0.0.0/16 -> local (active)
0.0.0.0/0 -> NAT Gateway (active)
Run Code Online (Sandbox Code Playgroud)
NAT 网关处于可用状态并分配了弹性 IP 地址。
检查VPC DHCP选项集
查看 VPC …
我在本地使用 CircleCI CLI 来测试我的.circleci/config.yml
. 它看起来是这样的:
version: 2.1
jobs:
test:
docker:
- image: circleci/node:4.8.2
steps:
- checkout
- run: echo 'test step'
workflows:
version: 2
workflow:
jobs:
- test
Run Code Online (Sandbox Code Playgroud)
此操作失败并出现以下错误:
* 无法在配置文件的部分中找到名为
build
运行的作业。jobs:
如果您希望运行工作流程,请检查您的配置是否包含名为“workflows:”的顶级密钥
CLI 文档中的“hello world”工作流程运行良好。
我在这里缺少什么?
继承的项目表示要运行npm install
以安装项目的软件包。但是当我这样做时,出现以下错误:
npm ERR! Invalid dependency type requested: alias
Run Code Online (Sandbox Code Playgroud)
在日志中,我可以看到以下消息:
212 redux-form-7 @ npm:redux-form@7.3.0的傻fetchPackageMetaData错误请求的无效依赖类型:别名
...
2744详细堆栈错误:请求的无效依赖类型:别名
getFetcher上的2744详细堆栈(/Users/rich/.nvm/versions/node/v10.15.0/lib/node_modules/npm/node_modules/pacote/lib/fetch.js:68:15)
清单2744上的详细堆栈(/Users/rich/.nvm/versions/node/v10.15.0/lib/node_modules/npm/node_modules/pacote/lib/fetch.js:15:19)
pinflight上的2744详细堆栈(/Users/rich/.nvm/versions/node/v10.15.0/lib/node_modules/npm/node_modules/pacote/manifest.js:24:12)
...
输入package.json
以下内容:
{
"dependencies": {
"redux-form": "5.3.3",
"redux-form-7": "npm:redux-form@7.3.0"
}
}
Run Code Online (Sandbox Code Playgroud)
我已经用谷歌搜索了,但是找不到该依赖语法的含义或错误的含义?
我在 Postman 上有一个共享收藏。当我在共享集合中运行请求时,它失败并出现以下错误:
评估预请求脚本时出现错误:错误:1:1 处出现意外标记“<”^
我已经尝试过几个请求,最简单的请求是对“ http://localhost:8000/v1/resource ”的 GET 请求,没有参数、授权、标头、正文或预请求脚本,但仍然会发生上述错误。
检查邮递员的控制台我看到以下错误:
JSONError:1:1 处出现意外标记“<”^
与上面的匹配。
当我复制请求并将其放置在共享集合之外时,它工作正常。
不确定我错过了什么?
尝试启动 puma 时出现以下错误。它抱怨它无法加载 libssl?
有任何想法吗?
root@7711398a00ad:/app# bundle exec puma -C config/puma.rb
bundler: failed to load command: puma (/bundle/bin/puma)
LoadError: libssl.so.1.0.0: cannot open shared object file: No such file or directory - /bundle/gems/puma-3.11.4/lib/puma/puma_http11.so
/bundle/gems/puma-3.11.4/lib/puma/server.rb:15:in `require'
/bundle/gems/puma-3.11.4/lib/puma/server.rb:15:in `<top (required)>'
/bundle/gems/puma-3.11.4/lib/puma/runner.rb:1:in `require'
/bundle/gems/puma-3.11.4/lib/puma/runner.rb:1:in `<top (required)>'
/bundle/gems/puma-3.11.4/lib/puma/cluster.rb:1:in `require'
/bundle/gems/puma-3.11.4/lib/puma/cluster.rb:1:in `<top (required)>'
/bundle/gems/puma-3.11.4/lib/puma/launcher.rb:4:in `require'
/bundle/gems/puma-3.11.4/lib/puma/launcher.rb:4:in `<top (required)>'
/bundle/gems/puma-3.11.4/lib/puma/cli.rb:6:in `require'
/bundle/gems/puma-3.11.4/lib/puma/cli.rb:6:in `<top (required)>'
/bundle/gems/puma-3.11.4/bin/puma:6:in `require'
/bundle/gems/puma-3.11.4/bin/puma:6:in `<top (required)>'
/bundle/bin/puma:23:in `load'
/bundle/bin/puma:23:in `<top (required)>'
Run Code Online (Sandbox Code Playgroud) amazon-ecs ×1
aws-fargate ×1
circleci ×1
circleci-2.0 ×1
docker ×1
dockerhub ×1
libssl ×1
node.js ×1
npm ×1
postman ×1
puma ×1