私有鏡像庫構建攻略

雖然我建議大家使用AWS S3,但是我在此將使用registry:2,把所有的數據存放在主機本地。

我們需要提前準備如下工作:

域名所對應的證書,我將使用regv2.piel.io 
一個兼容.htaccess的密碼

我將通過letsencrypt.org以及一個Docker腳本來快速創建第一個證書。

複製 [email protected]:fatk/docker-letsencrypt-nginx-proxy-companion-examples.git
修改docker-letsencrypt-nginx-proxy-companion-examples/dockerdocker-run/simple-site/docker-run.sh,將site.example.com修改爲你將使用的域名
運行腳本

私有鏡像庫構建攻略

腳本運行後,將啓動一個nginx實例,一個docker-gen實例,一個letsencrypt-nginx-proxy-companion實例以及最終的nginx實例。

我們來看下腳本運行成功後有哪些容器啓動了:

私有鏡像庫構建攻略

看上去已經成功了,但是我們剛剛創建的證書在哪兒?

私有鏡像庫構建攻略

以及:

私有鏡像庫構建攻略

很好,接下來我們可以將regv2.piel.io.key以及fullchain.pem用於容器registry:2.

下面我們創建registry可以訪問到的證書目錄

私有鏡像庫構建攻略

最後一步,創建訪問registry的用戶名和密碼,此爲訪問docker registry:2的最低安全措施配置。

私有鏡像庫構建攻略

該命令要求主機上已經存在registry:2 鏡像,所以在運行htpasswd命令前它會自動下載此鏡像。之後,此容器會自動停止。

檢查下htpasswd是否已經被創建:

私有鏡像庫構建攻略

最後,運行registry:2

私有鏡像庫構建攻略

我們試一下是否可以登陸:

私有鏡像庫構建攻略

接下來我們試下是否可以下載、標記、上傳容器鏡像至我們的新鏡像倉庫。例如,下載一個jenkins https://hub.docker.com/_/jenkins/

私有鏡像庫構建攻略

驗證下是否可用

私有鏡像庫構建攻略

很好,上傳到我們的鏡像倉庫。

私有鏡像庫構建攻略

直到寫這篇文章的時候,除了用Curl,還沒有很好的方法可以直接看到鏡像庫中的鏡像列表

私有鏡像庫構建攻略

可以通過JSON看到我們的新Jenkins鏡像在我們的私有鏡像庫中

現在可以在我們的Rancher-test.piel.io環境中應用我們的registry了。

登陸Rancher,在基礎架構 > 主機中點擊添加主機。

將自動生成的命令在Rancher Host上運行。

私有鏡像庫構建攻略

一兩分鐘後主機將在Rancher管理界面中出現。由於我還沒有配置主機信息,主機顯示名稱依然爲“vultr.guest”, 我們可以通過菜單修改主機名稱並添加標籤。

私有鏡像庫構建攻略

接下來,我們添加私有registry並在新增加的主機上部署Jenkins。

在基礎架構菜單 > 鏡像庫中點擊“添加鏡像庫”,並選擇自定義,添加相應的信息完成配置。

幾分鐘之後,Rancher server的私有鏡像倉庫就可以使用了。

私有鏡像庫構建攻略

下面讓我們部署Jenkins容器。在基礎架構 > 容器菜單中,點擊“添加容器”

填寫所需信息,在選擇image一處輸入regv2.piel.io:5000/piel-jenkins: latest並設置端口映射爲Jenkins 8080到主機的80端口。

私有鏡像庫構建攻略

此處將需要一點時間下載鏡像。

下面我們將看到我們又一個容器叫做“my-jenkins”已經啓動了。

私有鏡像庫構建攻略

訪問到Jenkins URL,http://regv2.piel.io

私有鏡像庫構建攻略

通過docker ps再確認一次:

私有鏡像庫構建攻略

成功!我們現在已經完成了:

創建並加密了我們自己的私有鏡像庫
添加並標記了一個容器鏡像
爲Rancher Server添加了一個主機
爲Rancher Server增加了一個私有鏡像庫
在主機上部署了一個Jenkins容器
確認容器已經部署成功
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章