gpt4 book ai didi

docker - 如何在AWS ECS中管理Docker镜像的版本?

转载 作者:行者123 更新时间:2023-12-02 19:00:30 27 4
gpt4 key购买 nike

AWS ECS服务指向任务定义,该定义包含 docker 镜像的名称,包括标签。

因此,当我创建新版本的Docker镜像时,我有2种可能性:

  • 将任务定义更新到新版本,然后更新服务以指向任务定义
  • 的新版本
  • 使用一些标签指向最新版本,假设“当前”标签始终指向最新版本,任务定义将包含“my-image:current”,然后我只需要重启ECS服务

  • 有什么更好的,为什么?

    最佳答案

    对每个构建都使用唯一的标记,然后更新任务定义以指向新标记(第一个选项)。

    您将遇到的最大问题是,通常,基于Docker的系统将尝试避免提取其已有的镜像。如果重新启动服务,但重新启动的节点看到它已经具有my-image:current,它将重新运行它而不拉出更新的版本。看来它可以正常工作-How does "latest" tag work in an ECS task definition and container instances pulling from ECR?包含一个似乎可以正常工作的设置-但是仅通过查看内容就很难知道您使用的是哪个确切版本。

    避免使用“当前”或“最新”标签的第二个很好的理由是具有回滚的能力。例如,如果使用基于时间戳的标记系统,则部署内部版本20200323,但它不起作用,很容易将任务定义重置回内部版本20200322,以便在开发人员调试时返回到昨天的代码。如果昨天是“当前”,而今天是“当前”,那么要弄清楚“非当前”应该是很难的。

    关于docker - 如何在AWS ECS中管理Docker镜像的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60811725/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com