繼續,本文描述私有倉庫的搭建最簡步驟。
概要來說:
安裝Registry的最簡方法是直接Pull一個現成的Registry鏡像即可。
<code>docker pull registry</code>
然後啟動它。
<code>docker run <span>-p</span><span>5000</span>:<span>5000</span><span>-v</span> /home/registry:/tmp/registry registry</code>
暴露5000埠對外服務,同時,裝載宿主機的/home/registry目錄作為倉庫目錄。
現在可以push自己的鏡像到這個倉庫了,需要先給一個鏡像打個標籤,然後PUSH即可,命令如下:
<code>docker tag java:<span>7</span>-jre hub<span>.wo</span><span>.cn</span>/yancheng/java docker <span>push</span> hub<span>.wo</span><span>.cn</span>/yancheng/java</code>
此時,必然會報一個安全錯誤:
從錯誤描述來看,有兩種解決方法,一是使用HTTP,二是安裝CA憑證。
方法一,配置成HTTP,速度會稍快,也簡單。只需要修改一下 /etc/default/docker 文件,加上一句話:
<code>DOCKER_OPTS=<span>"<span>$DOCKER_OPTS</span> --insecure-registry=hub.open.wo.cn"</span></code>
然後重啟Docker,sudo service docker restart
,即可正常push了。
方法二,設定安全證書,略顯麻煩,尤其是我們的docker registry在nginx後面。
首先,需要產生自己的憑證(到伺服器上操作),指令如下:
<code>openssl genrsa -des3 -<span>out</span> hub<span>.key</span><span>2048</span> openssl rsa -<span>in</span> hub<span>.key</span> -<span>out</span> hub_nopwd<span>.key</span> openssl req -new -key hub_nopwd<span>.key</span> -<span>out</span> hub<span>.csr</span> openssl x509 -req -days <span>3650</span> -<span>in</span> hub<span>.csr</span> -signkey hub_nopwd<span>.key</span> -<span>out</span> hub<span>.crt</span></code>
然後,我們設定Nginx,增加對HTTPS的支援。
<code>server { listen <span>443</span>; server_name hub<span>.</span>wo<span>.</span><span>cn</span>; ssl <span>on</span>; ssl_certificate /usr/<span>local</span>/nginx/conf/hub<span>.</span>crt; ssl_certificate_key /usr/<span>local</span>/nginx/conf/hub_nopwd<span>.</span>key; location <span>/</span> { proxy_pass http:<span>//10.250.251.20:5000;</span> proxy_redirect off; proxy_set_header Host <span>$host</span>; proxy_set_header x<span>-forwarded</span><span>-for</span><span>$remote_addr</span>; } }</code>
注意hub.crt和hub_nopwd.key的位置。重啟nginx。
現在,需要將這個hub.crt弄到本地,按前面截圖的提示放到對應目錄下。即:/etc/docker/certs.d/hub.open.wo.cn
。
再次重啟docker,再push就正常了。
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });以上就介紹了Docker:私有倉庫的搭建,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。