天天看點

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

Harbor倉庫

  • 一、Harbor簡介
  • 二、安裝部署Harbor倉庫
  • 三、Harbor倉庫的使用
  • 四、harbor安全驗證

一、Harbor簡介

Harbor是一個用于存儲和分發Docker鏡像的企業級Registry伺服器。

Harbor使用的是官方的docker registry(v2命名是distribution)服務去完成。harbor在docker distribution的基礎上增加了一些安全、通路控制、管理的功能以滿足企業對于鏡像倉庫的需求。

Harbor作為一個企業級私有Registry伺服器,提供了更好的性能和安全,提升使用者使用Registry建構和運作環境傳輸鏡像的效率。

Harbor支援安裝在多個Registry節點的鏡像資源複制,鏡像全部儲存在私有Registry中,確定資料和知識産權在公司内部網絡中管控。

二、安裝部署Harbor倉庫

先将之前的registry容器删除

docker rm -f registry

1. 安裝docker-compose

下載下傳得到docker-compose檔案,将docker-compose二進制檔案放入/usr/local/bin目錄下并賦予權限

docker-compose-Linux-x86_64-1.27.0  
mv /root/docker-compose-Linux-x86_64-1.27.0 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose   #給其執行權限
           

2. 解壓Harbor安裝包并配置

tar zxf harbor-offline-installer-v1.10.1.tgz

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

3. 編輯harbor配置檔案

vim harbor.yml

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

拷貝證書目錄到配置檔案寫的指定路徑/data目錄下

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

4. 安裝harbor

執行harbor目錄下install.sh安裝腳本

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

檢視harbor目錄,存在docker-compose.yml,此時可以啟動docker-compose(必須在harbor目錄下執行)

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

5. 測試harbor倉庫

真實主機設定域名解析reg.westos.org,然後用真機浏覽器進行通路(浏覽器也可以直接輸入server1的IP進行通路倉庫)

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

出現此圖是因為倉庫證書是自簽證書浏覽器不信任,直接選擇繼續通路

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

登陸界面輸入harbor.yml中填入的使用者及密碼即可登陸

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證
Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

這裡library是harbor的預設倉庫

此時server1可以登陸reg.westos.org通過使用者認證後上傳鏡像,通過浏覽器圖像界面檢視鏡像更加直覺

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證
Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

配置server2的docker倉庫源和域名解析

cd /etc/docker
vim deamon.json    #寫入倉庫源
systemctl reload docker   #重新加載docker配置
docker info   #檢視docker資訊
           
Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

server2從harbor倉庫拉取鏡像

這裡可以看到server2本來沒有nginx鏡像,但是當server2直接運作nginx容器時會自動從harbor的預設倉庫拉取鏡像

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

在web頁面可以看到我們前面操作的日志記錄

三、Harbor倉庫的使用

建立私有倉庫

建立項目将會建立一個倉庫,不選擇公開項則預設為私有倉庫

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證
Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

還可以建立使用者并為使用者設定密碼,然後将建立的使用者添加到倉庫成員中并設定角色

四、harbor安全驗證

  • –with-notary: 鏡像信任,Notary是Docker鏡像的簽名工具,用來保證鏡像在pull,push和傳輸過程中的一緻性和完整性,避免中間人攻擊,避免非法的鏡像更新和運作。

    鏡像信任功能能夠保證鏡像的安全,隻有打了信任标簽的鏡像才能被拉取

  • –with-clair: 鏡像安全掃描,Harbor與Clair內建,添加漏洞掃描功能。 預設在運作harbor時漏洞掃描是沒有開啟的,需要重新開啟并添加參數
  • –with-chartmuseum: 支援chart倉庫服務

添加harbor安全驗證需要重新安裝harbor倉庫

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

鏡像安全掃描

添加harbor安全驗證後我們可以對倉庫的鏡像進行安全掃描

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證
Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

可以在倉庫配置管理中設定自動對鏡像進行安全掃描

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

内容信任

啟用内容信任功能

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

此時如果上傳鏡像會失敗,因為我們沒有部署根證書

部署根證書:

mkdir ~/.docker/tls/reg.westos.org:4443 -p
cd ~/.docker/tls/reg.westos.org:4443
cp /etc/docker/certs.d/reg.westos.org/ca.crt .
           

再次進行鏡像上傳,可以看到簽名成功并上傳

上傳成功的鏡像在浏覽器中檢視可以看到顯示已簽名

Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證

現在用server2拉取私有倉庫中未簽名的鏡像将會被拒絕

當我們上傳倉庫已經存在的鏡像時會顯示exsit,是以需要修改鏡像标簽,我們隻用輸入repository key

密碼為 westos12345 這些内容都在harbor.yml配置檔案中

關閉内容信任功能

export DOCKER_CONTENT_TRUST=0
           
Linux企業運維——Docker之Harbor倉庫(四)一、Harbor簡介二、安裝部署Harbor倉庫三、Harbor倉庫的使用四、harbor安全驗證