所以我在AWS上有一个运行jenkins和EC2注册表的docker容器。我想让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
但没有运气。
我在这里疯狂,我做错了什么?
答案 0 :(得分:7)
只要您填充env vars
,就不需要发出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