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

我对亚马逊的ECS docker工人都是新手,我不知道如何部署新的镜像。

我目前在ECR中创build一个新的图像

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模板创build了群集,任务和服务,但将TaskDefinition图像更新为$ECR/$NAME_TAG并且最终运行堆栈更新超时,并失败,出现“服务未稳定”错误。

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

我应该如何将新映像部署到ECS?

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

 "image":"my-acct-number.dkr.ecr.us-east-1.amazonaws.com/my-image-name:my-tag-v1" 

如果你只想使用一个任务定义,你将不得不build立你的形象,并用定义中定义的任何东西来标记它。