Docker堆栈部署未更新现有容器

时间:2020-05-27 17:46:32

标签: docker docker-compose docker-swarm

我正在使用docker stack deploy部署4个容器,如下所示:

docker stack deploy --compose-file compose.yml --with-registry-auth myapp

这是容器第一次使用注册表上的最新映像构建,没问题。

但是当我将新映像推送到注册表并再次运行命令时,不会使用最新映像来重建容器。

我在图像中使用了latest标签。我知道这不是推荐的处理方式,但是对于我在文档中所读的内容,如果使用docker stack deploy标签,latest将检查注册表中的图像sha,如果不同容器将使用最新的映像进行重建,但就我而言,这没有发生。我在这里想念东西吗?

一旦堆栈已满,我在运行docker stack deploy时也会收到错误/警告:

Updating service service_name (id: some_hash_value)
image docker.pkg.github.com/username/repository/image-name:latest could not be accessed on a registry to record
its digest. Each node will access docker.pkg.github.com/username/repository/image-name:latest independently,
possibly leading to different nodes running different
versions of the image.

1 个答案:

答案 0 :(得分:0)

当我开始使用新的 docker 注册表时,我遇到了相同的错误消息。 docker 不认为新注册中心的 SSL 证书是安全的。

所以我收到了这个错误,直到我将我的新注册表添加到 insecure-registries

/etc/docker/daemon.json 部分

我看到没有人在这个问题或其他类似问题上提到这个解决方案,所以我希望这能有所帮助。