尝试从私有 ECR 中提取图像时出现“没有基本身份验证凭据”

2023-12-04

我的 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?


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

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

我更喜欢使用 aws我的角色.

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

  • 手动或使用 terraform 创建 iam 角色我的资源.
  • IAM政策内容请参阅this.
  • 使用 terraform 引入 ec2 时实例资源利用iam_实例_配置文件属性,该属性的值应该是您创建的iam角色的名称。

这应该足以以安全的方式自动从 ECR 中提取 docker 镜像。

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试从私有 ECR 中提取图像时出现“没有基本身份验证凭据” 的相关文章

随机推荐