我目前使用以下过程将docker容器放入ECS:
aws ecr get-login --profile tutorial
创建容器的shell脚本
# Returned by the command in (1)
sudo docker login -u AWS -p looooong -e none https://foobar.dkr.ecr.us-east-1.amazonaws.com
# Remaining steps
sudo service docker restart
sudo docker build -t ${image} .
sudo docker tag ${image} ${fullname}
sudo docker push ${fullname}
我的问题:
目前,我每次只手动sudo docker login ...
行。我可以以某种方式执行aws ecr get-login --profile tutorial
并自动执行返回的命令(使用sudo)吗?
答案 0 :(得分:2)
是的,您可以使用eval执行docker login命令。
例如:
eval $(aws ecr get-login --no-include-email --region us-west-2)
您的案例中的示例Shell脚本如下:
#!/bin/bash
eval $(aws ecr get-login --no-include-email --region us-west-2)
# Remaining steps
sudo service docker restart
sudo docker build -t ${image} .
sudo docker tag ${image} ${fullname}
sudo docker push ${fullname}
答案 1 :(得分:1)
您还可以使用反向引号编写字符串bash命令,以执行它。
`aws ecr get-login --no-include-email --region us-west-2`