我正在使用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.
答案 0 :(得分:0)
当我开始使用新的 docker 注册表时,我遇到了相同的错误消息。 docker 不认为新注册中心的 SSL 证书是安全的。
所以我收到了这个错误,直到我将我的新注册表添加到 insecure-registries
/etc/docker/daemon.json
部分
我看到没有人在这个问题或其他类似问题上提到这个解决方案,所以我希望这能有所帮助。