【问题标题】:Does a swarm can be configured to auto check for newer image with the same tag?是否可以将 swarm 配置为自动检查具有相同标签的较新图像?
【发布时间】:2017-10-27 17:29:12
【问题描述】:

我正在使用 github、travis ci(构建管理器)、digital ocean(云)、docker hub、docker cloud 来创建持续部署

我已经成功地将 github 与 travis ci 和 docker hub 集成在一起,因此在每次向我的一个分支(开发)提出拉取请求后都会创建新映像。

  1. Docker 云不支持在 swarm 模式下与数字海洋集成。这是否意味着数字海洋不支持 swarm 或者 docker cloud 的 gui 不只支持数字海洋集成? (我想这个问题的答案是我可以用我的机器在数字海洋中做任何我想做的事)。

  2. docker cloud 是否提供了其他机器无法使用命令行访问的特殊功能?

  3. 是否可以将 swarms 配置为在其使用的图像具有具有相同标签的较新图像时检查更新?或者甚至更好:有什么服务可以在有相同标签的新图像时通知群?

【问题讨论】:

  • 可能像瞭望塔之类的东西 - github.com/v2tec/watchtower
  • @johnharris85 酷!但是很奇怪docker不支持它。。还有其他swarm替代品支持吗?

标签: docker github digital-ocean dockerhub docker-cloud


【解决方案1】:

我只能帮助数字 3。

如果您想强制 swarm 获取具有相同标签的新图像版本,您可以使用新图像的 RepoDigest 强制执行此操作。

docker pull myimage:tag 
docker service update \ 
       --image $(docker inspect -f '{{index .RepoDigests 0}}' myimage:tag) \ 
       my-container --force --detach=true

Hacky,但它就像一个魅力。

【讨论】:

  • 为什么需要指定容器名称?也许我有多个容器运行这个图像。
  • 您必须更新每个容器?仅下载新图像不会升级服务。
  • 那是说不先关闭就无法实时更新整个服务?
  • 一般来说,您运行的服务不止一个副本。如果您配置更新间隔,它将一一关闭并升级图像。
  • 在您的回答中,我需要指定一个容器名称/ID。我如何运行您现在描述的服务?
猜你喜欢
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 2019-07-18
  • 2020-09-10
  • 1970-01-01
相关资源
最近更新 更多