生成本身簽名的證書
生成簽名的過程須要根據提示輸入一些參數,須要注意的時Common Name的時候須要輸入一個本身須要的域名,若是時內部域名記得訪問的時候須要修改hosts。node
mkdir /data/certs -p cd /data/certs openssl req -newkey rsa:4096 -nodes -sha256 \ -keyout domain.key -x509 -days 365 -out domain.crtdocker
運行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:2ubuntu
客戶端配置
拷貝上面生成證書文件domain.crt到客戶段機器上的/etc/docker/certs.d/域名/的目錄,並重名稱爲ca.crt瀏覽器
ubuntu修改/etc/default/docker文件,在DOCKER_OPTS中添加內容:--insecure-registry registry.dev安全
重啓docker服務dom
驗證docker registry
成功驗證
瀏覽器訪問https://域名/v2/,顯示{}則成功,若是瀏覽器提示證書安全問題,請忽略post
遠程推送image到registry
docker tage ubuntu:14.04 域名/ubuntu:14.04url
docker push 域名/ubuntu:14.04spa
瀏覽器訪問https://域名/v2/_catatlog,會出現{"repositories":["ubuntu"]},
繼續訪問https://registry.dev/v2/ubuntu/tags/list,會顯示{"name":"ubuntu","tags":["14.04"]}
拉取鏡像
docker pull 域名/ubuntu:14.04
參考資料: