问题标签 [aws-ecr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
709 浏览

amazon-web-services - aws Ec2 容器注册表(使用 kubernetes 部署时,由于身份验证凭据而无法提取映像)

  • 我使用 kubeadm init 创建了集群,甚至提供了配置文件来将云提供商定义为 aws。
  • 我已经为 ECR 的 IAM 角色提供了所需的权限,并且我能够使用 docker pull 拉取图像。
  • 只是当我通过 kubernetes 部署我的 pod 时,它无法提取图像。

有什么我想念的吗?

以下是 POD 的说明。

0 投票
1 回答
371 浏览

amazon-web-services - 是否可以在 ECR(aws docker 注册表)存储库中获取标签历史记录?

我使用标签来标记当前部署的版本,我想知道是否可以查询在特定时间用特定标签标记了哪个图像。

虽然可以在外部跟踪这些,但使用此选项似乎更可靠。

0 投票
1 回答
2933 浏览

docker - 如何在 Terraform 中声明和引用 ECR 存储库而不损害其内容?

我正在构建一个 Terraform 配置以将一些容器部署到 AWS ECS。显然,我必须将 Docker 镜像推送到 ECR。我在 ECR 中创建了一个存储库并推送了图像。

现在我正在自动化。如果我aws_ecr_repository这样声明:

然后 Terraform 将管理它。我最终可以用类似的东西来引用它

在构建 ECS 任务定义的过程中。

我的印象是,当我terraform destroy作为开发周期的一部分运行时,Terraform 会删除这个存储库——或者当它有图像时会失败。这会很糟糕,因为terraform destroy这样要么永远不会完成,要么我必须清除 ECR 存储库才能成功完成该命令。

如何最好地引用已经存在但我似乎不希望 Terraform 管理的 ECR 存储库,因为 Terraform 可能会破坏存在于 Terraform 之外的数据,即发布 CI 作业上传的 Docker 图像?

0 投票
8 回答
17079 浏览

amazon-ecs - 如果 AWS ECR 存储库不存在,则创建它

如果 AWS ECR 存储库不存在,我该如何创建它?

0 投票
1 回答
1104 浏览

python-3.x - 通过 docker-py 从 ECR 中提取图像

我有一个脚本,它检索 ECR 的登录,使用登录凭据(reauth 设置为 True)对 DockerClient 实例进行身份验证,然后尝试提取指定的容器映像。

当在我的本地机器上运行与 EC2 实例上的 docker 守护进程交互时,该代码似乎运行良好,但是当从 EC2 实例运行时,我不断得到

404 Client Error: Not Found ("repository XXXXXXXX.dkr.ecr.eu-west-2.amazonaws.com/autohld-runner not found: does not exist or no pull access")

相同的存储库用于在 EC2 实例上本地和远程执行代码。我尝试在 ECR 中设置对图像的访问权限,以允许所有人和我的 AWS ID 都可以拉取。我还授予分配给 EC2 实例完全管理员访问权限的角色。都没有喜悦。

如果我通过命令行使用完全相同的 repo URI(从错误中复制)在 EC2 实例上执行相同的任务,则它可以正常工作。

我在 docker-py 中缺少什么吗?

get_repo返回错误消息中报告的完整 URI,Container 元素的名称为“autohld-runner”

谢谢

0 投票
2 回答
742 浏览

amazon-web-services - ECR 存储库策略与 IAM 策略有何不同?

ECR 策略与 IAM 策略有何不同?

ECR 策略周围的语言似乎表明它类似于 S3 存储桶策略。

它是否允许您在不使用 IAM 的情况下授予访问权限?

如果我想授予另一个帐户对注册表的访问权限,我可以使用 ECR 策略还是仍然需要跨帐户角色?

0 投票
0 回答
131 浏览

amazon-web-services - Amazon Elastic Container Registry Service 身份验证似乎与 Docker 令牌规范不同

我正在尝试从各种容器映像注册表中获取映像清单信息。为了进行身份验证,我已经通过 Docker 实现了令牌规范(https://docs.docker.com/registry/spec/auth/token/),它似乎正在与 Docker Hub(公共和私有存储库)、Azure容器注册服务和谷歌容器注册服务。AWS Elastic Container Registry Service 似乎需要对 GetAuthorizationToken API 进行额外调用,该 API 返回要在基本 Http 身份验证中使用的用户名和密码。我的理解是否正确(根据 Docker 令牌规范)我无法使用固定的用户名和密码对,然后使用 WWW-Authenticate 质询标头我可以获得不记名令牌来获取访问令牌?

我现在面临的挑战是,我需要根据它是 AWS ECR 还是其他注册表服务来对我的代码进行特殊情况下的身份验证。

到目前为止我的 C# 代码:

在这里,如果我使用 (username, password) = (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) 那么我会不断得到:

{StatusCode:401,ReasonPhrase:'未授权',版本:1.1,内容:System.Net.Http.StreamContent,标头:{ Docker-Distribution-Api-Version:registry/2.0 连接:keep-alive 日期:星期三,8 月 1 日2018 年 21:40:37 GMT WWW-Authenticate: Basic realm="https://619296171463.dkr.ecr.us-east-2.amazonaws.com/",service="ecr.amazonaws.com" 内容长度: 15 内容类型:文本/纯文本;字符集=utf-8 }}

而如果我使用 (username, password) = ("AWS", "LONGPASSWORD_GENERATED_USING_AWS_ECR_GETLOGIN"),我可以获得图像清单。

0 投票
2 回答
425 浏览

amazon-web-services - 使用 Amazon ECR 集群 - 每个微服务一个或每个微服务驻留在一个服务上

我不熟悉将 AWS ECR 集群用于微服务项目。

我想部署一个微服务基础架构,我可以在其中按需重新构建和重新部署任何微服务。我已经使用 ECR 注册表部署了一个微服务,并在 ECR 中为每个图像创建了任务定义。

最佳实践是为每个微服务创建一个集群,还是为所有微服务创建一个集群,但每个微服务一个服务?

我很想听听这方面的最佳做法!

0 投票
2 回答
2603 浏览

amazon-web-services - 无法将大型 Docker 映像上传到 AWS ECR

我正在创建一个 mongodb docker 映像,其中包含我组织的主数据库的备份生产数据。但是,当我尝试将这个图像向上推时,我会遇到这个错误。

我的图像大小约为 85gb-100gb,因为其中有很多数据。Docker 映像运行良好,但是当我将其推送到 AWS ECR 时,我收到此错误。

我在这里看到了服务限制页面:

https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html

但是,它的措辞有点令人困惑。我真的没有什么可以在这里做的吗?当然,为了方便起见,我不是唯一一个想要发布大型 Docker 映像的人吗?我前进的最佳途径是什么?

谢谢!

0 投票
4 回答
5483 浏览

jenkins - Jenkins Permission Denied on shell 执行

我正在尝试在 Jenkins 构建步骤中执行 shell。我有一个/home/ubuntu/.local/bin/aws从 Jenkins 可执行脚本调用的二进制可执行文件。

在构建输出日志中,它读取/tmp/jenkins2312.sh: line 2: /home/ubuntu/.local/bin/aws: Permission denied

将 Jenkins 用户添加到根组没有帮助。