代码之家  ›  专栏  ›  技术社区  ›  Christopher Francisco

如何更新Docker服务/堆栈使用的最新图像?

  •  4
  • Christopher Francisco  · 技术社区  · 7 年前

    .yml 定义,我总是 latest 我的服务形象。

    当我将一个新的映像推送到注册表时,我想更新我的堆栈中的服务使用的映像。我什么也没看到 --pull 标志和文档 docker service update 没有明确提及。

    如何使用最近推出的 最新的 图像?

    1 回复  |  直到 7 年前
        1
  •  5
  •   Bret Fisher    7 年前

    真正地 不应该使用 latest 在生产中或在本地机器测试/学习以外的任何地方。它使你使用的图像变得模糊不清,你无法分辨 docker service ls/ps 如果默认情况下是当前的,以及其他各种含糊不清的地方(比如在Docker Hub的GUI中看不到sha)。

    如果你没有办法绕过它,至少会蜂拥而至 尝试 查询注册表并检查更新的sha。如果它看到一个 docker service update --image <username>/<repo> <servicename> 然后它将拉并进行滚动更新。你可以看 docker events 以确保事情发生,并且您可以使用 docker service ps --no-trunc <servicename> 之后再检查一下,看看新老图像的sha散列。

    推荐文章