四、harbor實踐之初識harbor


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM