開始之前
之前寫過兩篇關於Docker倉庫的文章,把Docker鏡像裝到倉庫需要幾步? 與 沒有Docker倉庫還能分發鏡像嗎?,今天講講如何部署一個私有倉庫,主角是大名鼎鼎的 VMware開源項目 Harbor,VMware公司估計大家都有所耳聞,做爲虛擬化界的一哥VMware技術實力雄厚並擁有廣泛的用戶羣體,企業級產品vSphere ESXi,家用級別的Workstation 都是其代表作。
Harbor從2014年開始由VMware中國研發中心內部立項和使用,並於2016年對社區開源,2018年8月Harbor加入雲原生計算基金會(CNCF),Harbor項目紮根於中國社區,因此深受中國用戶喜愛。
Harbor版本更新較快目前最新穩定版本V1.82,如需下載最新版本或者提交Issue 可以在github 中找到項目。
目前在使用的還是 v1.4.0版本 harbor倉庫。
一些概念
- 鏡像倉庫
是集中存放docker鏡像的地方。例如鏡像地址 hub.zongming.net/dongnan/centos:6.7
hub.zongming.net 是註冊服務器(registry)
dongnan 是倉庫(用戶)名稱,
centos 是鏡像名稱,
:6.7 是鏡像版本號。
註冊服務器是管理倉庫的具體服務器,每個服務器上可以有多個倉庫,每個倉庫下面有多個鏡像,而每個鏡像有多個標籤。 - 公共倉庫
Docker 官方維護了一個公共倉庫 Docker Hub,其中已經包括了超過 15000的鏡像(2016年)。大部分需求都可以通過在 Docker Hub中找到。 - 私有倉庫
某些時候使用 Docker Hub公共倉庫可能不方便(如含有業務源代碼的python鏡像),Docker官方提供了docker-registry工具,用於創建一個私有倉庫,不過docker-registry 在易用xing、功能xing等方面遠不如 Harbor。
部署
Harbor 支持在Docker環境下部署。
-
環境要求
Linux 系統,推薦 ubuntu server 16.04+ 或更高的LTS版本。
docker 17.06.0-ce+ ,推薦使用最新的穩定版本。
docker-compose 1.23.0+ ,推薦使用最新的穩定版本。
如果沒有安裝docker 可以參考這篇文章
如果沒有安裝docker-compose 可以參考這篇文章 -
部署方式
由於Harbor包含多個鏡像,部署過程中可能會遇到網絡超時問題,推薦使用離線安裝方式。以v1.8.2版本爲例離線安裝包下載地址
-
配置選項
tar zxf harbor-offline-installer-v1.8.2.tgz cd harbor/ vim harbor.cfg
配置文件的參數分爲兩部分,必選參數與可選參數。
- 其中必選參數包括:
hostname: 主機名,這裏選擇使用真實域名。 data_volume: harbor數據卷目錄。 harbor_admin_password: 管理員的賬號密碼。 database: password: 數據庫root用戶的密碼 jobservice: max_job_workers: 最大進程數量,默認值爲10 我選則默認值。 log: 日誌級別,日誌輪轉,日誌大小,日誌位置,等選項保持默認即可。
- 可選參數
需要注意的是如果你使用 HTTPS那麼需要配置 https: 取消註釋 port: 443 取消註釋 certificate: 取消註釋以及你的crt證書文件 private_key: 取消註釋以及你的key私鑰文件
- 我的https配置示例如下。
https: # # https port for harbor, default is 443 port: 443 # # The path of cert and key files for nginx certificate: ./keys/server.crt private_key: ./keys/server.key
-
執行shell腳本自動開始安裝
- 安裝完成
使用
-
在瀏覽器輸入你的倉庫地址
-
登錄後嘗試創建一個項目例如 demo
-
最後留一個實踐作業
部署好的Harbor倉庫後,嘗試爲創建好的項目demo 推送一個鏡像,並在其它的docker主機上下載此鏡像。
提示,登錄倉庫、標記鏡像、推送鏡像、下載鏡像可以參考 <<把Docker鏡像裝到倉庫需要幾步?>> 這篇文章。
參考
https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md