Docker:私有倉庫的搭建

WBOY
發布: 2016-07-29 09:07:25
原創
1180 人瀏覽過

繼續,本文描述私有倉庫的搭建最簡步驟。

概要來說:

  1. 安裝registry鏡像,啟動容器。
  2. CA憑證(還有一種辦法是直接用HTTP也行,可以省略此步)
  3. 製作鏡像,發布。

安裝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>
登入後複製

此時,必然會報一個安全錯誤:
Docker:私有倉庫的搭建

從錯誤描述來看,有兩種解決方法,一是使用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教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板