【问题标题】:Local development and swarm service image update本地开发和 swarm 服务镜像更新
【发布时间】:2017-04-27 15:19:47
【问题描述】:

我们在开发人员机器上使用 Docker Swarm 进行开发。 Docker 服务正在使用例如foo:beta 图片。

当开发人员为foo 构建新功能时,他会在本地构建容器的新镜像,名称相同(sha 不同)。

但是,我们无法更新服务以使用新的图像版本。我们试过了

docker service update --force --image <component>

没有成功。

我们正在运行最新的 edge docker build:17.05.0-ce-rc1-mac8 (16582)

【问题讨论】:

  • 集群拓扑是什么样的?这是单机、单管理器类型的场景(典型的开发环境)吗?还是比这更复杂?仅当每个节点将最新标签拉到其本地图像缓存时,更新才有效。否则它将强制更新,但不会更新到标签的最新版本。
  • @huu - 本地开发,即单机。

标签: docker docker-swarm swarm


【解决方案1】:

关键是为图像使用本地标记,远程存储库中不存在该标记。当 Swarm 在远程 repo 上找不到给定标签的图像时,它将使用本地的。

为此,我们还标记所有与开发者相关的容器,例如dev 标签,只存在于开发者机器上。这样我们就可以更新镜像并通过强制更新服务来更新正在运行的代码。

【讨论】:

    猜你喜欢
    • 2017-04-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 2012-11-02
    • 2018-03-07
    • 2016-12-20
    相关资源
    最近更新 更多