【问题标题】:how do you securely push an image to a docker 1.13 registry:2 service from outside the swarm?如何从 swarm 外部安全地将图像推送到 docker 1.13 registry:2 服务?
【发布时间】:2023-03-11 22:30:01
【问题描述】:

我在 OSX 上的 docker 1.13 swarm 中的本地托管 docker-machine VM 中运行 docker 注册表服务:

docker service create --name registry --with-registry-auth --publish
5000:5000 registry:2

该服务正在运行,我可以在 swarm 管理器上推送/拉取图像,但是当我尝试使用端口 5000 从托管 swarm VM 的机器将图像推送到服务时:

Get https://<IP of swarm manager>:5000/v1/_ping: http: server gave HTTP response to HTTPS client

有谁知道如何安全地从 swarm 外部访问 docker 注册表服务?可能是一个常见问题解答,但我没有在 docker 网站上找到一篇文章来解决它。它们似乎都在处理容器 TLS 设置或从 swarm 中访问服务器(这相当不错)。

谢谢!

【问题讨论】:

    标签: docker docker-registry docker-swarm-mode


    【解决方案1】:

    有关保护注册表套接字的文档涉及 TLS 设置,因为这正是您需要配置的内容。 The registry documentation 对此进行了高层次的讨论。为 docker 套接字创建 TLS CA、密钥和证书的相同步骤可用于注册表套接字,并且是 documented on docker's site

    请注意,如果您从自己的 CA 生成自己的证书,则需要信任您的 CA。有多种方法可以仅针对 docker 执行此操作,但更简单(并且可能不太安全)的解决方案是将其添加到主机上的根 CA 列表中。此过程因 Linux 发行版而异。

    【讨论】:

    • 米奇看起来可能有英国口音 btw :)。
    • Docker 论坛中的一篇帖子似乎与此一致:forums.docker.com/t/…
    • 如果您仍然遇到问题,请更新您的问题以包含您认为应该有效的步骤。
    猜你喜欢
    • 1970-01-01
    • 2017-11-09
    • 2015-12-17
    • 2019-07-01
    • 2020-12-31
    • 2019-02-02
    • 2017-01-18
    • 2021-05-13
    • 2021-06-07
    相关资源
    最近更新 更多