[英]Uploading Docker Images to AWS ECR
我正在尝试创建一个工作流,我组织中的开发人员可以将 docker 图像上传到我们的 AWS ECR。 以下命令有效:
步骤 1:获取令牌
aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <repo-url>
步骤 2:标记已经构建的镜像
docker tag <local-image:tag> <ecr-repo-url>:latest
第 3 步:最后推送
docker push <ecr-repo-url>:latest
现在这工作得很好。
然而,当我试图自动化上述步骤时。 我不会在最终用户机器上配置 AWS CLI 。 因此,对于最终用户而言,第 1 步将失败
所以两个快速查询:
我希望最终用户安装 docker
在这种情况下,您可以使用AWS CLI docker 映像从 ECR 获取令牌。
令牌本身只是一个临时密码,因此无论您是否在远程服务器上使用 AWS CLI,它都对 Docker 凭证有效。
您还可以选择使用 AWS 开发工具包,您可以将其与小型应用程序一起打包来执行此操作,例如Boto3,但您需要确保主机本身配置了相关的编程语言。
或者,如果您希望实现自动化,您实际上可以考虑使用 CI/CD 管道。
GitHub 有Actions ,BitBucket 有Pipelines ,而 GitLab 可以说是内置了最多CI/CD 的。 这将使这些服务为您执行上述所有操作。
作为最终建议,您可以在CodePipeline 中使用CodeBuild来构建您的映像,然后为您标记并将其部署到 ECR。 这将通过触发器自动执行,不需要任何永久性基础设施。
有关此选项的更多信息,请参阅使用 Amazon ECR 作为源为您的容器映像构建持续交付管道一文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.