码迷,mamicode.com
首页 > 其他好文 > 详细

内网部署支持ssl的docker registry

时间:2016-08-10 23:06:38      阅读:764      评论:0      收藏:0      [点我收藏+]

标签:docker registry

首先需要使用域名或主机名制作证书,自签证书在内网可以使用,因为内网可排除信任问题,自签证书流程可以参考使用自签的证书配置nginx的https


证书制作完成我们开始部署registry,当前registry v2版已经发布,所以我们使用v2版部署测试,部署之前需要运行docker daemon

1、将制作好的证书copy到/etc/docker/certs.d/${domain}/ca.crt中,注意目录中的domain是registry的域名或主机名,同时也是制作证书时的输入的Common name。

  #] cp web1.crt /etc/docker/certs.d/web1\:5000/ca.crt

然后重启docker daemon 

2、拉取官方registry镜像

  #] docker pull registry:2  ## docker pull registry:latest

3、运行registry容器:

  #] docker run -d -p 5000:5000 --restart=always --name registry \

  -v /root/ssl:/certs \

  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/web1.crt \

-e REGISTRY_HTTP_TLS_KEY=/certs/web1.key \

registry:2

    注意:参数 -v /root/ssl是证书所在目录

4、测试将镜像push到仓库中

  将待push到仓库中的镜像打标签

  #] docker tag registry:2 web1:5000/registry


  push镜像

  技术分享

  push完之后,可以在本地使用docker pull web1:5000/registry


5、在另外一台机器上pull镜像,首先需要将证书copy到这台机器的/etc/docker/certs.d/web1:5000/目录下

技术分享

并重名为ca.crt,然后重启docker daemon

执行docker pull web1:5000/registry命令:

技术分享

拉取成功,registry部署完成。


碰到的问题:在push和pull的时候出现x509:certificate signed by unknown authority,如下图:技术分享

主要原因是没有将证书copy到/etc/docker/certs.d/web1:5000目录下,并需要将证书重命名为ca.crt.

当然还得确保自签证书没问题。


本文出自 “JC” 博客,请务必保留此出处http://jackeychen.blog.51cto.com/7354471/1836602

内网部署支持ssl的docker registry

标签:docker registry

原文地址:http://jackeychen.blog.51cto.com/7354471/1836602

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!