DOCKER:不能从我的私人registry中拉出来

我不能在我自己的registry中使用docker pull,并且我有一个系统:

Client: Version: 1.8.2 API version: 1.20 Go version: go1.5.1 Git commit: 0a8c2e3 Built: Fri Sep 11 01:46:35 UTC 2015 OS/Arch: darwin/amd64 Server: Version: 1.8.2 API version: 1.20 Go version: go1.4.2 Git commit: 0a8c2e3 Built: Thu Sep 10 19:10:10 UTC 2015 OS/Arch: linux/amd64 

而我的操作系统是OS X

 Darwin MacBook-Pro.local 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64 

并且错误信息如下所示:

 docker pull 192.168.5.46:5000/ubuntu:trusty Error response from daemon: unable to ping registry endpoint https://192.168.5.46:5000/v0/ v2 ping attempt failed with error: Get https://192.168.5.46:5000/v2/: EOF v1 ping attempt failed with error: Get https://192.168.5.46:5000/v1/_ping: EOF 

我用boot2docker,设置env就好像:

 env | grep DOCKER DOCKER_HOST=tcp://192.168.59.103:2376 DOCKER_TLS_VERIFY=1 DOCKER_CERT_PATH=/Users/Sirius/.boot2docker/certs/boot2docker-vm 

希望你的帮助,谢谢!

尝试将DOCKER_OPTS添加到您的env中,这在Ubuntu操作系统中运行良好。

 DOCKER_OPTS="--insecure-registry 192.168.5.46:5000" 

另一种方法是在客户端安装crt。 当您设置您的所有者registry时,您在registry主机上创build密钥/ crt。

 mkdir -p certs && openssl req \ -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \ -x509 -days 365 -out certs/domain.crt 

并且您使用registry映像和registry主机上的密钥/ crt启动容器。

 docker run -d -p 5000:5000 --restart=always --name gcregistry \ -v /registry/data:/var/lib/registry \ -v /registry/certs:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ registry:2 

要访问CA,请在客户端上安装crt。 你可以从https中拉出来

 scp certs/domain.crt /etc/docker/certs.d/ghostcloud.cn:5000/ca.crt restart docker