如何将Docker容器映像更新从AWS ECR部署到ECS?

时间:2016-02-18 11:43:41

标签: amazon-web-services amazon-ec2 docker

我是亚马逊的ECS docker的新手,我不知道如何部署新图片。

我目前在ECR中用

创建一个新图像
NAME_TAG=my-image-name:my-tag-v1
ECR=my-acct-number.dkr.ecr.us-east-1.amazonaws.com

docker build -t $NAME_TAG .
docker tag -f $NAME_TAG $ECR/$NAME_TAG
$(aws ecr get-login --region us-east-1) #log in
docker push $ECR/$NAME_TAG

此时我不知道如何将新容器从ECR部署到我的集群。

我使用Cloud Formation模板创建了集群,任务和服务,但是将TaskDefinition映像更新为$ECR/$NAME_TAG并运行堆栈更新最终超时并因“服务未稳定”而失败错误。

如果我推送到my-image-name:latest,我的群集实例拉下新图像,但它们不运行它,无论如何我想避免使用神秘的{ {1}}标记。

我应该如何向ECS部署新图像?

1 个答案:

答案 0 :(得分:2)

每次部署时,您都应该能够使用新的任务定义部署映像。 任务定义允许您使用属性“image”

设置图像版本
"image":"my-acct-number.dkr.ecr.us-east-1.amazonaws.com/my-image-name:my-tag-v1"

如果您只想使用一个任务定义,则必须构建您的图像并使用定义中定义的任何内容对其进行标记。