如何自动将容器放在AWS ECS上?

时间:2018-02-01 12:41:55

标签: amazon-web-services docker pipeline amazon-ecs

我目前使用以下过程将docker容器放入ECS:

  1. 执行aws ecr get-login --profile tutorial
  2. 将返回的内容粘贴到以下shell脚本
  3. 创建容器的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)吗?

2 个答案:

答案 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`