所以我在 AWS 上有一个运行 jenkins 的 docker 容器和一个 EC2 注册表。我想让 jenkins 将容器推送回 EC2 注册表。
为此,我希望能够在容器启动时自动执行 aws configure
和 get login
步骤。我想我可以
export AWS_ACCESS_KEY_ID=*
export AWS_SECRET_ACCESS_KEY=*
export AWS_DEFAULT_REGION=us-east-1
export AWS_DEFAULT_OUTPUT=json
我预计会导致 aws configure
自动完成,但这不起作用。然后我尝试根据 AWS 文档创建配置并重复该过程,这也不起作用。然后我尝试使用 aws configure set
也没有运气。
我在这里发疯了,我做错了什么?
最佳答案
只要您填充环境变量,实际上不需要发出 aws configure
export AWS_ACCESS_KEY_ID=aaaa
export AWS_SECRET_ACCESS_KEY=bbbb
... also export zone and region
然后发出
$(aws ecr get-login --region ${AWS_REGION} )
您将获得相同的所需 aws 登录状态...至于故障排除,我建议您使用远程登录到正在运行的容器实例
docker exec -ti CONTAINER bash
然后以交互方式手动发出上述与 aws 相关的命令,以确认它们运行正常,然后再将它们放入您的 Dockerfile
关于amazon-web-services - docker 容器中的“aws configure”将不使用环境变量或配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38402628/