如何自动将容器放在 AWS ECS 上?
How can I automatically put a container on AWS ECS?
我目前使用以下过程将 docker 容器放入 ECS:
- 执行
aws ecr get-login --profile tutorial
- 将返回的东西粘贴到下面的shell脚本中
创建容器的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)吗?
是的,您可以使用eval 来执行docker 登录命令。
例如:
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}
你也可以写字符串 bash 命令用反引号括起来来执行它。
`aws ecr get-login --no-include-email --region us-west-2`
我目前使用以下过程将 docker 容器放入 ECS:
- 执行
aws ecr get-login --profile tutorial
- 将返回的东西粘贴到下面的shell脚本中
创建容器的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)吗?
是的,您可以使用eval 来执行docker 登录命令。
例如:
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}
你也可以写字符串 bash 命令用反引号括起来来执行它。
`aws ecr get-login --no-include-email --region us-west-2`