通过Nginx反向代理搭建私有Docker Registry 2.0仓库的问题


最近根据Docker官网:(https://docs.docker.com/registry/deploying/)及(https://docs.docker.com/registry/authentication/)结合进行私有仓库搭建,主要是利用了
docker-compose.yml文件来完成。
系统环境:
Linux ubuntu 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Docker 版本:
Docker version 1.6.2, build 7c8fca2

已完成:docker-compose启动正常,局域网内另一台电脑A上telnet domainname port(这里是5043)很正常,已将domain.crt 拷贝到电脑A(ubuntu系统)的etc/docker/certs.d/domainname:5043/ca.crt。
****

问题:docker login domainname:5043 还是出现如下问题,有前辈搞过这块么?在网上看过其他资料,但仍未解决,请搞过这块的同学提供点建议,谢谢啦。
FATA Error response from daemon: v1 ping attempt failed with error: Get https://domainname:5043/v1/_ping: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "domainname"). If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry domainname:5043` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/domainname:5043/ca.crt
已邀请:

custa

赞同来自:


ca.crt这个文件是客户端用来认证服务器用的,应该放在客户端的~/.docker目录下
或者命令参数指定。
再或者直接忽略对服务器的认证: curl -k, docker -lts。

lingsc - 80后IT跑男

赞同来自:


忽略认证的话,放在外网也不安全呀。

目前通过docker login -u testuser -p testpassword -e '' domain:5043能登录了,但push时,出现unsupported protocol scheme ""

ca.crt还是放在/etc/docker/certs.d/domainname:5043/下了((https://docs.docker.com/registry/deploying/)),回头我试下ca.crt放在~/.docker下

我在官网提问了,(https://github.com/docker/dock ... s/1023)。如果解决了,我再来补充。

lingsc - 80后IT跑男

赞同来自:


在解决了问题后,我在Blog中写了一篇(http://xialingsc.github.io/hom ... nginx/),需要的同学可以借鉴。
后来才关注到官网给出了解决办法,但我将官网的解答进行实际测试。

要回复问题请先登录注册