Docker registry V2

部署私有Docker Registrynode


搭建 Insecure Registrydocker

修改Registry server上的Docker daemon的配置,为DOCKER_OPTS增长–insecure-registry:
DOCKER_OPTS="--insecure-registry 10.10.105.71:5000
重启Docker Daemon,启动Registry容器:curl

#docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry --restart=always --name registry registry:2url

在Private Registry2中查看或检索Repository或images,将不能用docker search:
但经过v2版本的API,咱们能够实现相同目的:spa

#curl http://10.10.105.71:5000/v2/_catalog
#curl http://10.10.105.71:5000/v2/tonybai/busybox/tags/listrest

注:交互的主机上的Docker Daemon都要配置:–insecure-registry选项server

搭建 Secure Registryssl

须要为Registry配置tls所需的key和crt文件
一、制做自签署证书
#mkdir -p certs
#openssl req -newkey rsa:2048 -nodes -sha256 -keyout certs/index.changhong.info.key -x509 -days 365 -out certs/index.changhong.info.crt
…………
Common Name (e.g. server FQDN or YOUR name) []:index.changhong.info部署

二、修改一下/etc/hosts文件: 10.10.105.71 index.changhong.info
三、配置本地访问
$ sudo mkdir -p /etc/docker/certs.d/index.changhong.info:5000
$ sudo cp certs/index.changhong.info.crt /etc/docker/certs.d/index.changhong.info:5000/ca.crt
$ sudo service docker restart openssl

若是使用自签署的证书,那么全部要与Registry交互的Docker主机都须要安装index.changhong.info:5000/ca.crt
但若是你使用知名CA这一步也就能够忽略

Registry的鉴权管理

server上增长test用户,密码test123
$ mkdir auth
$ docker run --entrypoint htpasswd registry:2 -Bbn test test123 > auth/htpasswd

启动Secure Registry
$ docker run -d -p 5000:5000 --restart=always --name registry \
-v /auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v /data:/var/lib/registry \
-v /certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/index.changhong.info.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/index.changhong.info.key \
registry:2

执行docker login:
$docker login index.changhong.info:5000
Username: test
Password: test123

Registry中images的管理
$ curl --cacert index.changhong.info.crt --basic --user test:test123 https://index.changhong.info:5000/v2/_catalog

相关文章
相关标签/搜索