



上圖配置為工作環境
特別注意:win10現在不允許使用私有ca證書,到時登錄瀏覽器會失敗,可以選用火狐瀏覽器。
創建自己的CA證書
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt


上面從上到下分別表示:中國、北京、北京、公司名雲計算、證書綁定的域名
生成證書簽名請求
openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.yunjisuan.com.key -out www.yunjisuan.com.csr


上面可以設置密碼,這里演示就不設置了
生成注冊表主機的證書
openssl x509 -req -days 365 -in www.yunjisuan.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.yunjisuan.com.crt


三、信任自簽發的域名證書
將自簽ca證書添加到系統信任

讓系統信任設置立即生效

四、Harbor 1.4 版本配置與安裝
注意:要關閉防火牆和selinux
4.1 安裝docker-ce社區版
先關閉selinux 安裝依賴包

然后運行curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo獲取docker-ce.repo包

啟動docker,並加入開機自啟動

4.2 下載並安裝harbor私有倉庫
創建harbor的證書目錄,並復制
先mkdir -p /etc/ssl/harbor

創建harbor下載目錄並下載harbor-offline-installer-v1.5.0.tgz
下載包:wget http://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v1.5.0.tgz


把原配置文件修改如下圖:第7行必須寫域名,跟之前創建的證書一致、第11行改成https、第23行和24行指向證書位置

到第68行查看默認密碼,

安裝命令docker-compose(需要1.21版本)

安裝harbor私有鏡像倉庫(參數--with-clair是啟用漏洞掃描)


登錄瀏覽器(火狐瀏覽器),輸入本機ip地址訪問

點擊高級

再點擊添加例外

點擊確認安全例外

用戶名為admin 密碼為之前在配置文件里看到的Harbor12345

接下來進行安全設置
在配置管理里-項目創建 改為僅管理員,認證模式不用改(企業中改為LDAP認證)

在項目->library->配置管理里把自動掃描鏡像勾選,企業中把阻止潛在漏洞鏡像也勾選
在linux上登錄

可以看到上面輸入IP地址,結果報錯,這里必須用域名
用域名時先需要映射一下

非交互式登錄:

上傳鏡像(以centos為例):



格式必須為docker push 域名/庫名/鏡像名
上傳成功:

其他電腦要登錄harbor時,需要認證證書,同時需要讓那台電腦信任認證證書,前面已經講過了,記住,信任完后需要重啟docker
映射也別忘了做
從harbor上下載時也是和上傳時格式一樣
harbor鏡像的復制與同步
harbor私有倉庫的主從復制,類似於MySQL,屬於一對多的復制
部署harbor-slave:再安裝一個harbor私有倉庫作為harbor的從庫,域名為www2.yunjisuan.com
創建證書,並讓linux信任證書,然后重啟docker服務
這時,要把www2.yunjisuan.com.crt 發送給主harbor,並讓主harbor信任該證書

然后在主barbor上執行操作

注意:這時登錄網站還可以進入主harbor,如果不能進入,就執行上面的install那,從那開始重新執行一遍
然后再在從harbor上也進行install那部分的操作
cat harbor.cfg文件,把www.yunjisuan.com都改為www2.yunjisuan.com

把www2.yunjisuan.com.key和www2.yunjisuan.com.crt復制到/etc/ssl/harbor/下

接下來和上面講的一樣


賬號密碼還是和之前一樣

可以看到從harbor里面是空的,接下來在主harbor上操作
倉庫管理-->新建目標

注意,上面的驗證遠程證書不要勾,然后測試連接
可以發現,連接是失敗的,
日志文件在/var/log/harbor/下,有很多日志,我們可以看ui.log分析錯誤

因為URL那輸入的必須是域名,即:www2.yunjisuan.com,可是harbor的主從復制是直接查詢DNS的,而不是映射,所以我們還需要配置一下DNS服務才能解析出域名
進入linux虛擬機進行登錄看看

linux上是成功的,linux上是先查詢映射
再開一台虛擬機,配置一下DNS解析服務:
創建正向解析

上圖中的yunjisuan.com.zone是復制named.empty得來的,cp -p named.empty yunjisuan.com.zone
注意:一定要帶-p ,這是復制時把屬主和屬組都復制,不帶-p到時會出現權限錯誤
編輯配置文件:

驗證並開啟DNS服務:

驗證DNS的功能:

在主harbor上把網關改為之前配置DNS服務的虛擬機的ip:

這時,還是連接失敗,這是因為緩存的關系,需要重啟docker服務


可以看到,終於連接成功了,然后點擊確定
點擊復制管理-->新建規則 定義把哪些鏡像同步過去

再點擊保存

再去從harbor看看

從庫已經傳輸完畢,主從復制搭建成功
