编辑:不介意,见下面的答案
在互联网上似乎有很多关于这方面的噪音(是的,我读过所有的堆栈溢出和github问题),但是对于我的特定问题没有太多的信号。而且,我刚接触过码头,所以可能是用户错误,但没有明显的.
下面是正在发生的事情:
我已经为一个宠物项目创建了一个单节点群,并让成功地登录到ghcr和docker
docker image pull ghcr.io/my-name/my-image:latest时,docker stack deploy -c test.yml test (包括在下面的test.yml),它在"No:docker stack deploy -c test.yml test“中失败。这似乎与身份验证有关,但不清楚具体是什么.我还用一个公共的ghcr包进行了测试,它运行得很好,所以区别似乎是公开的还是私有的。
下面是test.yml的样子(您可以访问的任何私有my-name/my-image包的子my-name/my-image):
version: "3.9"
services:
test-db:
image: ghcr.io/my-name/my-image:latest
networks:
- test-backend
labels:
test.app: test
networks:
test-backend:
driver: overlay同样,问题是,当我运行docker swarm deploy**,时,它不会自动拉出图像,即使我可以手动成功地拉出图像。
发布于 2022-01-22 16:45:12
总尴尬脸-我似乎陷入了一个虚假的负面的网络。最后,它就像在我的部署命令中添加--with-registry-auth一样简单,许多互联网上的人都说过这一点。我已经做了好几次了,但它没有起作用,所以我想不是那样的,但是不管出于什么原因,我又试了一次,现在似乎成功了。我的错就是弄得乱七八糟。
对于其他人,正如@Chris在上面的评论中所指出的,完整的命令是::。
docker stack deploy --with-registry-auth -c test.yml test我从Bret那里学到的一点是,登录只是一个客户端的概念,而且总是客户端向引擎发送auth信息,所以如果您通过本地码头客户端访问群集,那么在远程机器上运行docker login是不必要的。
https://stackoverflow.com/questions/70795940
复制相似问题