生成證書html
openssl genrsa -out mydomain.key 2048node
生成祕鑰
openssl req -newkey rsa:4096 -nodes -sha256 -keyout mydomain.key -x509 -days 365 -out mydomain.crt
將生成的祕鑰放置在全部將要pull鏡像的docker服務器的目錄/etc/docker/certs.d/mydomain/下
scp mydomain.crt xxx@xxx:/etc/docker/certs.d/mydomain/
注意:放置好祕鑰文件後記得重啓所在機器的docker-daemin
生成帳戶密碼文件
docker run --entrypoint htpasswd registry:2.2 -Bbn tester 123456 > auth/htpasswd;
運行registry
docker run -d -p 6000:5000 --restart=always --name registry \ -v `pwd`/auth:/auth \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ -v `pwd`/certs:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/mydomain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/mydomain.key \ registry:2.5.1
登錄 docker login xxx:6000
參考
https://docs.docker.com/registry/insecure/#using-self-signed-certificateshttps://docs.docker.com/registry/deploying/#running-a-domain-registryhttp://www.cnblogs.com/modprobe/p/6026033.html