繁体   English   中英

禁止隧道或SSL-从私有注册表中提取Docker映像

[英]Tunnel or SSL Forbidden - Pulling a docker image from private registry

我已经在PC上设置了一个私有Docker注册表,并且可以使用以下命令将映像推入并推入并再次拉回:

docker pull localhost:5000/new_buntu

但是,如果我用我的IP地址替换localhost ,它将无法正常工作。

$ docker pull 10.118.56.140:5000/new_buntu
Using default tag: latest
Error response from daemon: Get https://10.118.56.140:5000/v2/: Tunnel or SSL Forbidden

现在有趣的观察是,如果我想查看我的Docker注册表中的图像列表,请访问:

http://localhost:5000/v2/_catalog

这是一个HTTP URL。 但是,如输出所示,当我尝试使用IP地址提取图像时,它将尝试通过HTTPS连接。 我想知道docker是否具有某种设置,即如果不从本地主机提取图像,它将强制使用SSL。 如果是这样,我该如何停止呢?

我尝试将“ http”放在pull命令中,但没有成功:

$ docker pull http://10.118.56.140:5000/new_buntu
invalid reference format

我希望网络中的所有人都可以从注册表中获取图像。 我该怎么做?

我花了点力气探索这个问题,但最终我想出了办法。 看起来,如果从远程计算机提取映像,则Docker会强制使用SSL。 为了防止这种行为,我们需要特别告知docker我们尝试连接的注册表未经过SSL加密。 请按照以下步骤为其配置docker映像:

  1. 右键单击图标栏中的Docker图标。

在此处输入图片说明

  1. 点击“设置”。

在此处输入图片说明

  1. 转到“设置”面板中的“守护程序”选项卡。

在此处输入图片说明

  1. 在“不安全的注册表”部分中添加注册表的IP地址和端口号。 (在我的情况下为10.118.56.140:5000)

在此处输入图片说明

  1. 打开浏览器,然后访问http://:/ v2 / _catalog以查看所有可用图像的列表。 (就我而言, http://10.118.56.140:5000/v2/_catalog

在此处输入图片说明

  1. 发出以下命令来拉取图像。

    码头工人拉IP_地址:端口号/图像名称

例如:

docker pull 10.118.56.140:5000/new_buntu

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM