1 什么是Harbor
harbor是VMware公司開源的企業級Registry項目,其的目標是幫助用戶迅速搭建一個企業級的Docker registry 服務。
2 什么是Registry
Registry是一個無狀態的,高可擴展的服務器端應用程序,用於存儲和分發Docker Image。
3 第一次使用Harbor
3.1登錄
默認用戶名密碼:admin/Harbor12345

3.2創建項目
填寫項目名稱,設置訪問級別;如果設置為公共倉庫,則所有人對此項目下的鏡像擁有讀權限,命令行中不需要執行"docker login"即可下載鏡像。

4為項目添加鏡像
4.1登錄本地私有registry
docker login 192.168.88.128

登錄過程中組件的交互:

(a) 首先,這個請求會由監聽80端口的proxy容器接收到。根據預先設置的匹配規則, 容器中的Nginx會將請求轉發給后端的registry 容器;
(b) 在registry容器一方,由於配置了基於token的認證,registry會返回錯誤代碼401,提示Docker客戶端訪問token服務綁定的URL。在Harbor中,這個URL指向Core Services;
(c) Docker 客戶端在接到這個錯誤代碼后,會向token服務的URL發出請求,並根據HTTP協議的Basic Authentication規范,將用戶名密碼組合並編碼,放在請求頭部(header);
(d)類似地,這個請求通過80端口發到proxy容器后,Nginx會根據規則把請求轉發給ui容器,ui容器監聽token服務網址的處理程序接收到請求后,會將請求頭解碼,得到用戶名、密碼;
(e) 在得到用戶名、密碼后,ui容器中的代碼會查詢數據庫,將用戶名、密碼與mysql容器中的數據進行比對(注:ui 容器還支持LDAP的認證方式,在那種情況下ui會試圖和外部LDAP服務進行通信並校驗用戶名/密碼)。比對成功,ui容器會返回表示成功的狀態碼, 並用密鑰生成token,放在響應體中返回給Docker 客戶端。
4.2為鏡像打tag
#tag格式為:domain(ip)/project/image:version
docker tag vmware/photon:1.0 192.168.88.128/hb/vmware/photon:1.0

4.3push鏡像到私有registry
docker push 192.168.88.128/hb/vmware/photon:1.0

4.4 刪除、下載鏡像
docker rmi
docker pull
