推送圖片

將映像檔推送至 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 預設會套用最新標記。

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

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

  1. 請確認您已通過驗證,可以存取 Harbor 執行個體。
  2. 執行下列指令,推送加上標記的映像檔:
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG

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

推送映像檔後,請前往 Harbor 執行個體使用者介面查看映像檔。

後續步驟

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