推送圖片

將映像檔推送至 Harbor,即可透過角色式存取控管、自動安全漏洞掃描,以及簡化的映像檔管理功能,強化容器化應用程式的安全性。如要將本機映像檔推送至 Harbor 執行個體,請使用存放區名稱標記映像檔,然後推送映像檔。

事前準備

如要推送映像檔,您必須為環境設定必要的資源和權限,包括現有的 Harbor 專案。詳情請參閱「建立 Harbor 專案」。

必要的 IAM 角色

如要將映像檔推送至 Harbor 登錄檔執行個體,請與 IAM 專案管理員聯絡,要求下列角色:

  • Harbor 執行個體檢視者 (harbor-instance-viewer):取得、列出及監控專案命名空間中的 Harbor 執行個體。這個角色具備必要權限,可查看現有 Harbor 執行個體的詳細資料,以便擷取推送映像檔所需的登錄檔網址。

必要的 Harbor RBAC 角色

與 GDC IAM 角色不同,推送映像檔需要 Harbor 內部角色式存取控管 (RBAC) 系統中的特定權限。請向管理員要求必要權限。請僅要求特定工作所需的角色,強制執行最小權限原則。

標記本機映像檔

請按照下列步驟,使用存放區名稱標記本機映像檔:

  1. 您必須通過 Harbor 執行個體驗證。詳情請參閱「設定 Harbor 登錄檔執行個體的 Docker 驗證」。
  2. 設定映像檔名稱。完整映像檔名稱的格式如下:

    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE
    

    更改下列內容:

    • INSTANCE_URL:Harbor 執行個體的網址。例如:harbor-1.org-1.zone1.google.gdc.test。使用 GDC 控制台或 gdcloud CLI 取得 Harbor 執行個體的網址。
    • HARBOR_PROJECT_NAME:Harbor 專案的名稱。例如: my-project.
    • IMAGE_NAME:映像檔名稱。例如:nginx.

    完整映像檔名稱範例如下:

    harbor-1.org-1.zone1.google.gdc.test/my-project/nginx
    
  3. 使用存放區名稱標記本機映像檔:

    docker tag SOURCE-IMAGE
    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
    
    

更改下列內容:

  • SOURCE-IMAGE:本機映像檔名稱或映像檔 ID。例如:nginx。
  • TAG:標記名稱。例如,staging。如未指定標記,Docker 預設會套用 latest 標記。

將標記的映像檔推送至 Harbor 登錄檔執行個體

標記映像檔後,請將其推送至 Harbor 登錄檔執行個體:

  1. 請確認您已驗證 Harbor 執行個體。
  2. 使用下列指令推送已標記的映像檔:
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG

推送映像檔時,映像檔會儲存在指定的執行個體和 Harbor 專案中。

推送映像檔後,請前往 Harbor 執行個體 UI 查看映像檔。

後續步驟

將映像檔推送至 Harbor 登錄檔後,您可以將映像檔提取至本機環境進行驗證。您也可以設定標記保留規則,自動維護存放區,並查看安全性掃描結果,偵測安全漏洞: