从远程主机上的私有注册表中提取docker镜像?

时间:2016-07-14 15:18:42

标签: curl docker https dockerpy

我将docker镜像推送到host1上运行的私有注册表中。但是,当我尝试从远程主机(host2)获取映像时,我确实看到以下错误:

Docker命令:docker pull <host1>:5000/alpine:latest
结果:Error response from daemon: Get https://<host1>:5000/v1/_ping: EOF

如何docker pull使用http调用而不是https来获取图片?

我已经探索了所有选项,包括使用--insecure-registry标志启动docker守护程序。他们似乎都没有对我在这里想要达到的目标产生任何影响。

Docker version 1.11.1
OS Type : Linux

来自远程主机的以下curl命令获取数据

curl -1 http://<host1>:5000/v1/_ping

与https相同的curl命令:似乎在获取数据时遇到问题

 curl -1 https://<host1>:5000/v1/_ping

 curl: (35) Encountered end of file

1 个答案:

答案 0 :(得分:0)

您可以使用非安全注册表,但需要更新您的守护程序

https://docs.docker.com/registry/insecure/

  1. 打开/ etc / default / docker文件或/ etc / sysconfig / docker进行编辑。 您的Engine守护程序启动选项取决于您的操作系统。
  2. 编辑(或添加)DOCKER_OPTS行并添加--insecure-registry标志。例如,此标志采用注册表的URL。 DOCKER_OPTS="--insecure-registry myregistrydomain.com:5000"
  3. 关闭并保存配置文件。
  4. 重新启动Docker守护程序
  5. 用于重新启动守护程序的命令取决于您的操作系统。例如,在Ubuntu上,这通常是服务docker stop和service docker start命令。