我在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:基本认证凭证
如何以最安全的方式以及也可以terraform编辑的方式提供这些凭据?
terraform
有多种方法可以做到这一点。
使用aws访问和密钥。在其中您可以在ec2机器上设置aws凭证并运行ecr login命令。aws ecr get-login --no-include- email --registry-ids <some-id> --region eu-west-1然后码头工人拉应该工作。但这不是推荐的安全方法。
aws ecr get-login --no-include- email --registry-ids <some-id> --region eu-west-1
我更喜欢使用aws iam角色。
假设您想将此图像拖到使用terraform生成的ec2机器上。利用IAM角色。
这应该足以以安全的方式自动从ECR中提取docker映像。
希望这可以帮助。