【问题标题】:"no basic auth credentials" when trying to pull an image from a private ECR尝试从私有 ECR 中提取图像时出现“没有基本身份验证凭据”
【发布时间】:2019-07-10 08:56:28
【问题描述】:

我的 Dockerfile 中间某处有以下行,用于从我的私有 ECR 中检索图像。

FROM **********.dkr.ecr.ap-southeast-1.amazonaws.com/prod/*************:ff03401

这是我在尝试构建此代码时在 AWS Codebuild 中遇到的错误:

第 21/36 步:来自 **********.dkr.ecr.ap-southeast-1.amazonaws.com/prod/*************: ff03401 获取 https://**********.dkr.ecr.ap-southeast-1.amazonaws.com/prod/*************/manifests/ff03401:没有基本的身份验证凭据

如何以最安全的方式提供这些凭据,也可以是terraformed?

【问题讨论】:

  • docker pull <ID>.dkr.ecr.us-east-1.amazonaws.com/my-base-image:1.0.0 工作很疯狂,但 DockerfileFROM <ID>.dkr.ecr.us-east-1.amazonaws.com/my-base-image:1.0.0 却没有

标签: amazon-web-services docker dockerfile aws-ecr


【解决方案1】:

有多种方法可以做到这一点。

使用 aws 访问和密钥。您在其中设置 ec2 机器上的 aws 凭据并运行 ecr login 命令。 aws ecr get-login --no-include-email --registry-ids <some-id> --region eu-west-1 然后 docker pull 应该可以工作。但这不是推荐的安全方式。

我更喜欢使用 aws iam roles

假设您想在使用 terraform 启动的 ec2 机器上提取此图像。利用 iam 角色。

这应该足以以安全的方式自动从 ECR 拉取 docker 映像。

希望这会有所帮助。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2019-08-05
  • 2017-09-29
  • 2016-04-13
  • 2020-02-24
  • 1970-01-01
  • 1970-01-01
  • 2016-11-12
  • 1970-01-01
相关资源
最近更新 更多