我正在使用Docker Swarm,并希望使用docker-compose
部署服务。我的服务使用了一个名为myuser/myrepo:mytag
的自定义镜像,我已经成功将其部署到私有仓库的Docker-Hub上。
我的docker-compose文件如下:
version: "3.3"
services:
myservice:
image: myuser/myrepo:mytag
ports:
- "8080:8080"
在执行任务之前,我成功地使用 docker pull myuser/myrepo:mytag
拉取了镜像。但是,当我运行 docker stack deploy -c docker-compose.yml myapp
时,总是会出现错误:"No such image: myuser/myrepo:mytag"
。有趣的是,仅使用
docker-compose up
(即不使用集群模式)运行相同的文件时,一切都正常工作,服务也能够启动。我真的不明白为什么会失败? 我已经尝试使用
docker system prune
清理docker,并重新拉取我的镜像,但没有成功。
docker stack deploy --prune --with-registry-auth --resolve-image=always --compose-file docker-compose.yml stack_name
,我经常会遇到这个错误。它非常随机,有时所有节点都能获取到镜像,有时则无法获取。这已经让我疯狂了一段时间。你有没有什么想法,可能是什么问题呢?我还在使用私有注册表。 - Konrad