Amazon web services 任务相同但docker镜像不同的ECS更新服务
我是一个问题,要么我不太了解,要么aws ecs服务发生了一些奇怪的事情 我更新我的代码,创建一个新的docker映像,并将其推送到ECS部署。问题是,当任务定义没有更改时,即使ECR中的映像已更新,代码也不会部署。那么如何部署我的代码呢?我假设,当映像发生更改时,服务将运行已经注册的任务,而这些任务应该将映像拉到正确的位置 我运行的命令示例Amazon web services 任务相同但docker镜像不同的ECS更新服务,amazon-web-services,docker,amazon-ecs,codeship,Amazon Web Services,Docker,Amazon Ecs,Codeship,我是一个问题,要么我不太了解,要么aws ecs服务发生了一些奇怪的事情 我更新我的代码,创建一个新的docker映像,并将其推送到ECS部署。问题是,当任务定义没有更改时,即使ECR中的映像已更新,代码也不会部署。那么如何部署我的代码呢?我假设,当映像发生更改时,服务将运行已经注册的任务,而这些任务应该将映像拉到正确的位置 我运行的命令示例 第一次运行这些命令时,代码已部署,如果我更新代码,将新映像推送到注册表,然后运行这些命令,则不会部署代码。为了使用更新的映像更新容器,您必须使用存储库中的
第一次运行这些命令时,代码已部署,如果我更新代码,将新映像推送到注册表,然后运行这些命令,则不会部署代码。为了使用更新的映像更新容器,您必须使用存储库中的最新映像修改任务定义,然后,应该使用您定义的新任务定义更新您的服务
看起来您的思路是正确的,但我假设json文件正在使用相同的图像修改您的任务定义。如果是这种情况,您只需将映像的标记更改为:latest,以便每次都可以使用相同的json运行相同的命令。每次更新ECR时都会拉取更新。
仔细检查确认更新版本的方式。我正在使用自定义标记,然后推送具有相同标记的新图像。因此不需要新的任务定义,因为标记仍然相同,但图像已更新。它似乎没有检查该图像的更新版本
aws ecs register-task-definition --cli-input-json file:///deploy/tasks/my-task-definition.json
aws ecs update-service --service my-service --cluster my-clusdter --task-definition my-task-defintion