问题标签 [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.
amazon-web-services - aws Ec2 容器注册表(使用 kubernetes 部署时,由于身份验证凭据而无法提取映像)
- 我使用 kubeadm init 创建了集群,甚至提供了配置文件来将云提供商定义为 aws。
- 我已经为 ECR 的 IAM 角色提供了所需的权限,并且我能够使用 docker pull 拉取图像。
- 只是当我通过 kubernetes 部署我的 pod 时,它无法提取图像。
有什么我想念的吗?
以下是 POD 的说明。
amazon-web-services - 是否可以在 ECR(aws docker 注册表)存储库中获取标签历史记录?
我使用标签来标记当前部署的版本,我想知道是否可以查询在特定时间用特定标签标记了哪个图像。
虽然可以在外部跟踪这些,但使用此选项似乎更可靠。
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 图像?
amazon-ecs - 如果 AWS ECR 存储库不存在,则创建它
如果 AWS ECR 存储库不存在,我该如何创建它?
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”
谢谢
amazon-web-services - ECR 存储库策略与 IAM 策略有何不同?
ECR 策略与 IAM 策略有何不同?
ECR 策略周围的语言似乎表明它类似于 S3 存储桶策略。
它是否允许您在不使用 IAM 的情况下授予访问权限?
如果我想授予另一个帐户对注册表的访问权限,我可以使用 ECR 策略还是仍然需要跨帐户角色?
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"),我可以获得图像清单。
amazon-web-services - 使用 Amazon ECR 集群 - 每个微服务一个或每个微服务驻留在一个服务上
我不熟悉将 AWS ECR 集群用于微服务项目。
我想部署一个微服务基础架构,我可以在其中按需重新构建和重新部署任何微服务。我已经使用 ECR 注册表部署了一个微服务,并在 ECR 中为每个图像创建了任务定义。
最佳实践是为每个微服务创建一个集群,还是为所有微服务创建一个集群,但每个微服务一个服务?
我很想听听这方面的最佳做法!
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 映像的人吗?我前进的最佳途径是什么?
谢谢!
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 用户添加到根组没有帮助。