Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
隧道或SSL禁止-从私有注册表中提取docker映像_Docker - Fatal编程技术网

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

隧道或SSL禁止-从私有注册表中提取docker映像,docker,Docker,我已经在我的电脑上设置了一个专用Docker注册表,如果我使用以下命令,我可以将图像拉入并推送到它,然后再拉回来: docker pull本地主机:5000/新 但是,如果我用我的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/: Tun

我已经在我的电脑上设置了一个专用Docker注册表,如果我使用以下命令,我可以将图像拉入并推送到它,然后再拉回来:

docker pull本地主机:5000/新

但是,如果我用我的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是否有某种设置,如果没有从localhost提取图像,它将强制SSL。如果是,我该如何阻止它

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

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

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

我花了一点时间来探索这个问题,但最终我找到了答案。Docker似乎在从远程机器提取映像时强制使用SSL。为了防止这种行为,我们需要特别告诉docker,我们试图连接到的注册表未实现SSL。按照以下步骤为其配置docker映像:

右键单击图标栏中的docker图标。 点击“设置”。 转到“设置”面板中的“守护进程”选项卡。 在“不安全注册表”部分添加注册表的IP地址和端口号。10.118.56.140:5000在我的情况下 打开浏览器并访问http://:/v2/\u目录以查看所有可用图像的列表。就我而言 发出以下命令以拖动图像

docker pull IP地址:端口号/图像名

例如:

docker pull 10.118.56.140:5000/new_buntu

你能提供一些关于如何设置/运行本地注册表的更多信息吗?@tgogos:我只是简单地提取了图像并启动了它的容器。没什么特别的。好的,你发布了哪些端口?你能提供你的docker run。。。命令?5000。默认值。如果我没有记错的话,老实说,我不确定,我发布了docker run-d-p 5000:5000-name registry:2,从我读到的内容来看,您可能还需要发布https的443端口,并获得证书。。。