ubuntu docker方式部署docker registry v2

2016-03-03 17:36 by JackieHan, 4 阅读, 0 评论, 收藏编辑

生成自己签名的证书

生成签名的过程需要根据提示输入一些参数,需要注意的时Common Name的时候需要输入一个自己需要的域名,如果时内部域名记得访问的时候需要修改hosts。

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

运行docker registry images

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

客户端配置

拷贝上面生成证书文件domain.crt到客户段机器上的/etc/docker/certs.d/域名/的目录,并重名称为ca.crt

ubuntu修改/etc/default/docker文件,在DOCKER_OPTS中添加内容:--insecure-registry registry.dev

重启docker服务

验证docker registry

成功验证

浏览器访问https://域名/v2/,显示{}则成功,如果浏览器提示证书安全问题,请忽略

远程推送image到registry

docker tage ubuntu:14.04 域名/ubuntu:14.04

docker push 域名/ubuntu:14.04

浏览器访问https://域名/v2/_catatlog,会出现{"repositories":["ubuntu"]},

继续访问https://registry.dev/v2/ubuntu/tags/list,会显示{"name":"ubuntu","tags":["14.04"]}

拉取镜像

docker pull 域名/ubuntu:14.04