首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker堆栈部署不会从ghcr中提取映像

Docker堆栈部署不会从ghcr中提取映像
EN

Stack Overflow用户
提问于 2022-01-21 03:12:07
回答 1查看 375关注 0票数 0

编辑:不介意,见下面的答案

在互联网上似乎有很多关于这方面的噪音(是的,我读过所有的堆栈溢出和github问题),但是对于我的特定问题没有太多的信号。而且,我刚接触过码头,所以可能是用户错误,但没有明显的.

下面是正在发生的事情:

我已经为一个宠物项目创建了一个单节点群,并让成功地登录到ghcr和docker

  • ,根据标准的mysql映像创建了一个简单的停靠映像,并将其发布为一个私有的ghcr包
  • 。我在本地机器上创建了一个停靠器上下文,指向我从群集节点转发的对接器套接字。当我运行docker image pull ghcr.io/my-name/my-image:latest时,
  • 使用该上下文来使用该上下文。它工作得很好,并将图像向下拉到群集节点。
  • I然后删除该图像并运行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):

代码语言:javascript
复制
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**,时,它不会自动拉出图像,即使我可以手动成功地拉出图像。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-22 16:45:12

总尴尬脸-我似乎陷入了一个虚假的负面的网络。最后,它就像在我的部署命令中添加--with-registry-auth一样简单,许多互联网上的人都说过这一点。我已经做了好几次了,但它没有起作用,所以我想不是那样的,但是不管出于什么原因,我又试了一次,现在似乎成功了。我的错就是弄得乱七八糟。

对于其他人,正如@Chris在上面的评论中所指出的,完整的命令是:

代码语言:javascript
复制
docker stack deploy --with-registry-auth -c test.yml test

我从Bret那里学到的一点是,登录只是一个客户端的概念,而且总是客户端向引擎发送auth信息,所以如果您通过本地码头客户端访问群集,那么在远程机器上运行docker login是不必要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70795940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档