繁体   English   中英

DOCKER:无法从我的私人注册表中提取

[英]DOCKER: cannot pull from my private 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添加到您的环境中,这在 Ubuntu 操作系统中运行良好。

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

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

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

然后您在注册表主机上启动一个带有注册表映像和密钥/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

暂无
暂无

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

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