上圖配置爲工做環境node
特別注意:win10如今不容許使用私有ca證書,到時登陸瀏覽器會失敗,能夠選用火狐瀏覽器。linux
建立本身的CA證書docker
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crtcentos
上面從上到下分別表示:中國、北京、北京、公司名雲計算、證書綁定的域名瀏覽器
生成證書籤名請求緩存
openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.yunjisuan.com.key -out www.yunjisuan.com.csr安全
上面能夠設置密碼,這裏演示就不設置了curl
生成註冊表主機的證書測試
openssl x509 -req -days 365 -in www.yunjisuan.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.yunjisuan.com.crt網站
3、信任自簽發的域名證書
將自籤ca證書添加到系統信任
讓系統信任設置當即生效
4、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看看
從庫已經傳輸完畢,主從複製搭建成功