推送與提取映像檔

本頁說明如何推送及提取映像檔,這是最常使用 Container Registry 完成的兩項工作。如要將新的映像檔推送到 Container Registry,您必須先為映像檔加上註冊資料庫名稱的標記,如下所示。

如要啟動及執行 Container Registry,請參閱快速入門導覽課程

如需列出、標記及刪除映像檔的操作說明,請參閱管理映像檔

事前準備

確認您已完成下列事項:

  1. 安裝最新版 Cloud SDK,其中包含 gcloud 指令列工具

  2. 為專案啟用計費功能

  3. 安裝 Docker

  4. 具備從註冊資料庫推送和提取的權限

  5. 將 Docker 設為使用 gcloud 做為憑證輔助程式,或使用其他驗證方法。如要使用 gcloud 做為憑證輔助程式,請執行下列指令:

    gcloud auth configure-docker
    

將映像檔推送至註冊資料庫

如要將任何本機映像檔推送到 Container Registry,您必須先為映像檔加上註冊資料庫名稱的標記,接著再推送映像檔。

為本機映像檔加上註冊資料庫名稱的標記

  1. 決定註冊資料庫名稱:

    1. 選擇主機名稱,主機名稱會指定註冊資料庫的儲存空間地區。此地區並非是您的位置,而是儲存映像檔的位置。舉例來說,如果您人在澳洲,則可以會想使用位在亞洲的主機。

      選項有下列四種:

      • gcr.io 代管位在美國的映像檔,但此位置日後可能會改變
      • us.gcr.io 代管位在美國的映像檔,使用的儲存空間值區與 gcr.io 代管的映像檔不同
      • eu.gcr.io 代管位在歐盟的映像檔
      • asia.gcr.io 代管位在亞洲的映像檔

      在主控台中,映像檔的主機名稱列在「位置」底下。

    2. 選擇映像檔名稱,此名稱可以和本機電腦上的映像檔名稱不同。

    3. 將主機名稱、您在 Google Cloud Platform 主控台中的專案 ID 和映像檔名稱組合起來:

      [HOSTNAME]/[PROJECT-ID]/[IMAGE]
      

      如果您的專案 ID 包含冒號 (:),請參閱網域範圍專案

  2. 執行下列指令,為本機映像檔加上註冊資料庫名稱的標記:

    docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]
    

    其中,[SOURCE_IMAGE] 是本機映像檔名稱。

    這項指令會使用註冊資料庫名稱命名映像檔並套用 latest 標記。如要套用不同的標記,請使用下列指令:

    docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
    

將加上標記的映像檔推送至 Container Registry

執行下列指令,將加上標記的映像檔推送至 Container Registry:

docker push [HOSTNAME]/[PROJECT-ID]/[IMAGE]

這項指令會推送含有 latest 標記的映像檔。如果您要推送含有不同標記的映像檔,請執行下列指令:

docker push [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

將映像檔推送至使用新主機名稱的註冊資料庫時,Container Registry 會在指定的多地區位置建立儲存空間值區。推送映像檔後,您可以:

  • 前往 GCP 主控台以查看註冊資料庫和映像檔。

  • 執行 gcloud container images list-tags 以查看映像檔標記和自動產生的摘要:

    gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]
    

    此指令的輸出結果會與下列內容相似:

    DIGEST        TAGS        TIMESTAMP
    44bde...      test        2017-..-..
    

從註冊資料庫提取映像檔

如要從 Container Registry 執行提取作業,請執行下列指令:

docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]

其中:

  • [HOSTNAME] 列在主控台的「位置」底下,為以下四個選項的其中之一:gcr.ious.gcr.ioeu.gcr.ioasia.gcr.io
  • [PROJECT-ID] 是您的 Google Cloud Platform 主控台專案 ID。如果您的專案 ID 包含冒號 (:),請參閱網域範圍專案
  • [IMAGE] 是 Container Registry 中的映像檔名稱。
  • [TAG] 是套用至映像檔的標記。在註冊資料庫中,每個映像檔所套用的標記均不會重複。
  • [IMAGE_DIGEST] 是映像檔內容的 sha256 雜湊值。在主控台中按一下特定映像檔,即可查看該映像檔的中繼資料。摘要會列為「映像檔摘要」

如要執行特定映像檔的提取指令:

  1. 按一下映像檔名稱,即可前往特定的註冊資料庫。

  2. 在註冊資料庫中,找出您要提取的映像檔版本,然後勾選旁邊的方塊。

  3. 按一下頁面頂端的 [顯示提取指令]

  4. 複製提取指令,這項指令可使用標記或摘要來識別映像檔。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Container Registry