Docker容器中的'aws configure'不会使用环境variables或configuration文件

所以我有一个Docker容器在AWS上运行jenkins和一个EC2registry。 我想让jenkins把容器推回EC2registry。

要做到这一点,我希望能够自动化aws configureget login容器启动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文档创buildconfiguration,然后重复这个过程,这也是行不通的。 然后我尝试使用aws configure set也没有运气。

我在这里疯狂,我做错了什么?

只要填充envvariables,就不需要发出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} ) 

你会达到相同的理想awslogin状态…至于疑难解答,我build议你远程login到您正在运行的容器实例使用

 docker exec -ti CONTAINER bash 

然后手动发出上面的aws相关的命令交互式确认他们运行好,然后把它们放入你的Dockerfile