docker搭建公网IP地址的仓库,支持https

server端:系统centos6.X,IP 48.96.162.215

server端配置:

1.制作证书,生成证书

在ROOT下执行,把证书保存在/root/certs目录下

openssl req -newkey rsa:2048 -nodes -sha256 -keyout /root/certs/domain.key -x509 -days 365 -out /root/certs/domain.crt

我这里使用的这个域名,下面会用到

docker搭建公网IP地址的仓库,支持https

2.拷贝证书到docker访问的路径

docker搭建公网IP地址的仓库,支持https

docker搭建公网IP地址的仓库,支持https

3.让服务器自身信任证书

将domain.crt内容放入系统的CA bundle文件当中,使操作系统信任我们的自签名证书。

docker搭建公网IP地址的仓库,支持https

docker搭建公网IP地址的仓库,支持https

4.启动docker registry(复制命令,注意先放到记事本里格式化下)

docker run -d -p 5000:5000 --privileged=true -v /opt/registry:/tmp/registry -v ~/certs/:/root/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/root/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/root/certs/domain.key registry

5.测试(或者申请https的证书)

需要sylalak.com 指向我们的IP地址48.96.162.215

二.使用IP的方式来访问仓库

6.修改openssl.conf支持IP地址的方式,访问https,增加一个字段subjectAltName

[ v3_ca ] 

subjectAltName= IP:48.96.162.215

7.生成证书,步骤同1,注意Common Name 填IP地址 48.96.162.215

8.拷贝证书,步骤同2,注意使用的是IP地址不是域名

docker搭建公网IP地址的仓库,支持https

9.让服务器信任证书,步骤同3.

10.重启docker

docker搭建公网IP地址的仓库,支持https

11.重新启动registry,步骤同4.

12.验证下

docker搭建公网IP地址的仓库,支持https

docker搭建公网IP地址的仓库,支持https

三.在别的机器上上传文件

13.如果要在另一台机器上访问,需要把CERTS文件里的crt文件 COPY过去,同样放在/etc/docker/certs.d下面,建一个目录:/48.96.162.215:5000,然后 cp domain.crt/etc/docker/certs.d/48.96.162.215:5000/ca.crt

docker搭建公网IP地址的仓库,支持https

14.给存在或者我们生成的镜像文件打tag

docker搭建公网IP地址的仓库,支持https

15.push 这个镜像文件到仓库

docker搭建公网IP地址的仓库,支持https

docker搭建公网IP地址的仓库,支持https