use*_*644 15 docker docker-compose docker-swarm docker-stack
我正在使用docker swarm并希望部署一个服务docker-compose
.我的服务使用一个自定义映像,称为myuser/myrepo:mytag
我成功部署到Docker-Hub到私有存储库.
我的docker-compose看起来像这样:
version: "3.3"
services:
myservice:
image: myuser/myrepo:mytag
ports:
- "8080:8080"
Run Code Online (Sandbox Code Playgroud)
在执行之前,我成功地将图像拉出: docker pull myuser/myrepo:mytag
当我跑步时,docker stack deploy -c docker-compose.yml myapp
我总是收到错误:"No such image: myuser/myrepo:mytag"
.
有趣的是,仅运行相同的文件:( docker-compose up
即没有swarm模式)一切正常,服务启动.
我真的不明白为什么会失败?我已经尝试过清理docker system prune
docker然后重新生成我的图像,但没有成功.
use*_*644 27
已经找到了解决方案.我的图像托管在私有存储库中.除了swarm管理器(我执行命令的地方),我还有一个正在运行的swarm worker.
当我运行docker stack deploy -c docker-compose.yml myapp
docker时,将服务部署到工作节点(而不是我想到的管理器节点).在工作节点,docker没有凭据从私有存储库中提取映像.因此,要解决此问题,要么传递标志--with-registry-auth
(将存储库的凭据推送到工作节点),要么确保将服务部署到存在映像的节点.
请参阅:https://docs.docker.com/engine/reference/commandline/deploy/
归档时间: |
|
查看次数: |
8246 次 |
最近记录: |