Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从swarm之外安全地将图像推送到docker 1.13 registry:2服务?_Docker_Docker Registry_Docker Swarm Mode - Fatal编程技术网

如何从swarm之外安全地将图像推送到docker 1.13 registry:2服务?

如何从swarm之外安全地将图像推送到docker 1.13 registry:2服务?,docker,docker-registry,docker-swarm-mode,Docker,Docker Registry,Docker Swarm Mode,我正在OSX上docker 1.13 swarm中的本地托管docker机器VM中运行docker注册表服务,通过: docker service create --name registry --with-registry-auth --publish 5000:5000 registry:2 该服务正在运行,我可以在swarm manager上推/拉图像,但是当我尝试使用端口5000将图像从托管swarm VM的机器推送到该服务时: Get https://<IP of swarm

我正在OSX上docker 1.13 swarm中的本地托管docker机器VM中运行docker注册表服务,通过:

docker service create --name registry --with-registry-auth --publish
5000:5000 registry:2
该服务正在运行,我可以在swarm manager上推/拉图像,但是当我尝试使用端口5000将图像从托管swarm VM的机器推送到该服务时:

Get https://<IP of swarm manager>:5000/v1/_ping: http: server gave HTTP response to HTTPS client
获取https://:5000/v1/\u ping:http:server向https客户端提供了http响应
有人知道如何从swarm之外安全地访问docker注册表服务吗?可能是一个常见问题,但我在docker网站上还没有找到解决这个问题的文章。它们似乎都处理容器TLS设置或从swarm中访问服务器(这相当不错)


谢谢

有关保护注册表套接字的文档涉及TLS设置,因为这正是您需要配置的内容。在高层次上讨论这一点。为docker套接字创建TLS CA、密钥和证书的相同步骤可用于registry套接字,如下所示


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

Mitch看起来可能有英国口音(顺便说一句:)。Docker论坛中的一篇帖子似乎是这样的:如果您仍然有问题,请更新您的问题,以包括您认为有效的步骤。