【发布时间】:2016-04-21 12:38:53
【问题描述】:
我使用 Docker Hub 来存储私有 Docker 镜像,存储库有一个 webhook,一旦镜像更新,它就会调用我构建的服务:
- 更新 ECS 任务定义
- 更新 ECS 服务
- 注销旧的 ECS 任务定义
服务正在相应地运行。运行后,ECS 使用新任务定义创建新任务,停止使用旧任务定义的任务,服务返回新定义。
关键是 Docker 镜像没有更新,一旦服务在新任务定义中启动,它仍然使用旧镜像。
我做错了吗?如何确保更新 docker 镜像?
【问题讨论】:
-
你使用独特的标签还是像
latest这样的东西? -
@ZeissS 我用的是最新的。我在 ECS 任务中的定义是 user/image:latest
-
我建议使用版本标签。我猜 ECS 代理只相当于
docker run。如果明确询问 (docker pull) 或者他不知道图像,则 docker 守护进程只会拉取图像。 -
我在亚马逊支持上为这种情况打开了一张票。他们说 ecs 代理告诉 docker 做一个拉动。并要求我为这种情况提供一个 ecs 代理日志,但我现在稍微改变了我的工作流程。
标签: amazon-web-services docker aws-ec2 amazon-ecs