開始使用 Container Registry

IBM Cloud® Container Registry 提供了多租戶私有映像 註冊處,您可以使用它來儲存 容器映像,並與 帳戶中的使用者分享。IBM Cloud

IBM Cloud 主控台包含了簡短的「快速入門」。 若要找出如何使用 IBM Cloud 主控台的詳細資訊,請參閱使用 Vulnerability Advisor 管理映像檔安全

請不要將個人資訊放在容器映像檔、名稱空間的名稱、說明欄位或任何映像檔配置資料(例如,映像檔名稱或映像檔標籤)中。

開始之前

安裝 IBM Cloud 指令行介面 (CLI),以便執行 IBM Cloud ibmcloud 指令,請參閱 IBM Cloud CLI 入門

以下說明假設您是在自己的帳戶中,並有權限進行所有操作。 如果您發現無法執行指令,而您的帳號是由其他人擁有和管理的成員,您可能缺乏正確的權限來設定和操作 Container Registry 服務。 在這種情況下,您必須請求管理員賦予您所需的 IAM 服務存取角色權限。 如需詳細資訊,請參閱 為何我無法開始使用 Container Registry?

安裝 Container Registry CLI

  1. 執行下列指令,安裝 container-registry CLI 外掛程式:

    ibmcloud plugin install container-registry
    

    如需安裝外掛程式的詳細資訊,請參閱 使用外掛程式擴充 IBM Cloud CLI

設定名稱空間

建立 命名空間。 命名空間會在您指定的 資源群組 中建立,這樣您就可以在資源群組層級設定對命名空間中資源的存取。 如果您沒有指定資源群組,也沒有以資源群組為目標,則會使用預設的資源群組。 指定給資源群組的命名空間會顯示在 IBM Cloud 主控台的 Resource list 頁面。

  1. 登入 IBM Cloud。

    ibmcloud login
    

    如果您有聯合 ID,請使用 ibmcloud login --sso 來登入。 輸入您的使用者名稱,並使用 CLI 輸出中提供的 URL 擷取您的一次性密碼。 如果您有聯合 ID,則未使用 --sso 時登入失敗,而有使用 --sso 選項時登入成功。

    在要推送影像之前,您不需要登入 Container Registry,請參閱 步驟 5:將影像推送到您的命名空間

  2. 新增命名空間以建立您自己的影像 儲存庫。 以您偏好的命名空間取代 MY_NAMESPACE

    此名稱空間在相同地區的所有 IBM Cloud 帳戶中必須是唯一的。 名稱空間必須有 4 - 30 個字元,且只能包含小寫字母、數字、連字號 (-) 及底線 (_)。 名稱空間的開頭和結尾必須是字母或數字。

    ibmcloud cr namespace-add MY_NAMESPACE
    

    您可以使用下列其中一個選項,將命名空間置於您所選擇的資源群組中。

    如果您在嘗試建立命名空間時遇到問題,請參閱 為何我無法新增命名空間? 以獲得協助。

  3. 為了確保您的命名空間已建立,請執行 ibmcloud cr namespace-list 指令。

    ibmcloud cr namespace-list -v
    

從註冊表抽取影像至本機電腦

  1. 安裝 Docker 或您選擇的工具,例如 Podman。

    • 安裝 Docker Engine CLI

      WindowsmacOS 對於 Windows® 8 或 X Yosemite 或更早版本,請改安裝 macOS 10.10.xDocker Desktop

      如需 IBM Cloud Container Registry 支援的 Docker 版本的詳細資訊,請參閱 支援 Docker

    • 安裝 Podman.

  2. 下載 (拉取) 影像到您的本機電腦。 將 SOURCE_IMAGE 改為影像的儲存庫,並將 TAG 改為您要使用的影像 標籤,例如 latest。 例如,根據您使用的工具,執行下列其中一個指令。

    • 如果您使用 Docker,請執行下列指令。

      docker pull SOURCE_IMAGE:TAG
      

      例如,其中 SOURCE_IMAGEhello-worldTAGlatest

      docker pull hello-world:latest
      

      如果您在嘗試拉取 Docker 影像時遇到問題,請參閱 為何我無法推送或拉取 Docker 影像? 以取得協助。 如果使用 latest 標籤無法取得最新圖片,請參閱 為何使用 latest 標籤無法取得最新圖片? 以取得協助。

    • 如果您使用 Podman,請執行下列指令。

      podman pull SOURCE_IMAGE:TAG
      

      例如,其中 SOURCE_IMAGEhello-worldTAGlatest

      podman pull hello-world:latest
      

標記圖片

若要標記影像,請將 SOURCE_IMAGE 替換為儲存庫,並將 TAG 替換為您先前拉取的本機影像的標記。 將 REGION 改為您所在 區域 的名稱。 以您在 設定命名空間 中建立的命名空間取代 MY_NAMESPACE。 將 NEW_IMAGE_REPO 改為影像儲存庫的名稱,並將 NEW_TAG 改為標籤,以定義要在命名空間中使用的影像儲存庫和標籤。 例如,根據您使用的工具,執行下列其中一個指令。

若要查找您所在區域的名稱,請執行 ibmcloud cr region 指令。

  • 如果您使用 Docker,請執行下列指令。

    docker tag SOURCE_IMAGE:TAG REGION.icr.io/MY_NAMESPACE/NEW_IMAGE_REPO:NEW_TAG
    

    例如,其中 SOURCE_IMAGEhello-world, TAGlatest, REGIONuk, MY_NAMESPACEnamespace1, NEW_IMAGE_REPOhw_repo, NEW_TAG1

    docker tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
    
  • 如果您使用 Podman,請執行下列指令。

    podman tag SOURCE_IMAGE:TAG REGION.icr.io/MY_NAMESPACE/NEW_IMAGE_REPO:NEW_TAG
    

    例如,其中 SOURCE_IMAGEhello-world, TAGlatest, REGIONuk, MY_NAMESPACEnamespace1, NEW_IMAGE_REPOhw_repo, NEW_TAG1

    podman tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
    

推送影像到您的命名空間

  1. 使用下列選項之一登入 IBM Cloud Container Registry。

    • 若要使用 Docker 登入,請執行 ibmcloud cr login 指令,將本機 Docker daemon 登入 IBM Cloud Container Registry。

      ibmcloud cr login --client docker
      
    • 若要使用 Podman 登入,請執行 ibmcloud cr login 指令登入 IBM Cloud Container Registry。

      ibmcloud cr login --client podman
      
    • 若要使用其他用戶端登入,請參閱以 互動方式存取您的命名空間

    如果您在嘗試登入時遇到問題,請參閱 為何我無法登入 Container Registry? 以獲得協助。

  2. 上傳 (推送) 影像到您的命名空間。 以您在 設定命名空間 中建立的命名空間取代 MY_NAMESPACE。 將 IMAGE_REPOTAG 改為您在標記影像時所選擇的儲存庫和影像的標記。 例如,根據您使用的工具,執行下列其中一個指令。

    • 如果您使用 Docker,請執行下列指令。

      docker push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
      

      例如,其中 REGIONukMY_NAMESPACEnamespace1IMAGE_REPOhw_repoTAG1

      docker push uk.icr.io/namespace1/hw_repo:1
      

      如果您在嘗試推送 Docker 影像時遇到問題,請參閱 為何我無法推送或拉取 Docker 影像? 以取得協助。

    • 如果您使用 Podman,請執行下列指令。

      podman push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
      

      例如,其中 REGIONukMY_NAMESPACEnamespace1IMAGE_REPOhw_repoTAG1

      podman push uk.icr.io/namespace1/hw_repo:1
      

確認影像已推送

執行下列指令,驗證已順利推送映像檔。

ibmcloud cr image-list

您已在 IBM Cloud Container Registry 中設定名稱空間,並將您的第一個映像檔推送至名稱空間。

為以下項目中的變更設定稽核追蹤 Container Registry

透過擷取每個使用中 Container Registry 區域的活動事件,為 Container Registry 中的變更建立稽核追蹤。 在 IBM Cloud Logs 的一個或多個實例中建立這些活動事件。

若要設定稽核追蹤,請完成下列步驟:

  1. 設定 IBM Cloud Logs,請參閱 開始使用 IBM Cloud Logs
  2. 設定 IBM Cloud Activity Tracker Event Routing,請參閱 開始使用 IBM Cloud Activity Tracker Event Routing
  3. 設定 IBM Cloud Logs 目標,請參閱 設定 IBM Cloud Logs 範例為目標

如需更多關於記錄的資訊,請參閱 關於 IBM Cloud Logs記錄 Container Registry

如需有關活動事件的詳細資訊,請參閱 有關 IBM Cloud Activity Tracker Event RoutingContainer Registry 的活動追蹤事件

監控 Container Registry

您可以在要監控的區域中建立 Monitoring 範例,並為其啟用平台指標。 或者,您可以在該區域的現有 Monitoring 範例上啟用平台度量。

如需更多關於設定指標的資訊,請參閱 啟用 Container Registry 的指標開始使用 Monitoring

接下來的步驟 Container Registry