使用容器註冊表 CLI 管理 IBM Cloud 容器註冊表

請在「container-registry」CLI 外掛程式中使用 ibmcloud cr 指令,以管理您的 IBM Cloud Container Registry 註冊表及其資源。

必要條件

在使用「Container Registry」命令列介面 (CLI) 之前,您必須先完成以下先決條件。

  1. 安裝 ibmcloud CLI 外掛程式,請參閱 IBM Cloud CLI 入門

  2. 安裝 container-registry CLI 外掛程式。

    ibmcloud plugin install container-registry
    

    如需更多資訊,請參閱《 安裝 container-registry CLI 外掛程式 》。

  3. 使用 ibmcloud login 指令登入 IBM Cloud,以產生 存取標記並驗證消費者用來代表使用者存取受保護資源的值,而不是使用使用者的服務供應商憑證。您的階段,以便您可以在 CLI 中執行指令。

附註

要瞭解有關如何使用 Container Registry CLI、ibmcloud cr 指令的詳細資訊,請參閱 IBM Cloud Container Registry 的入門使用

ibmcloud CLI 和 container-registry CLI 外掛程式有更新時,您會收到命令列通知。 請務必保持您的 CLI 版本為最新,以便能夠使用所有可用的指令與選項。 若要查看 container-registry CLI 外掛程式的當前版本,請執行 ibmcloud plugin list 指令。

有關某些 Container Registry 指令所需的 IAM 平台和服務存取角色的詳細資訊,請參閱 管理 Container Registry 的 IAM 存取

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

如果 Container Registry ibmcloud cr 指令失敗,並出現錯誤說它們不是已註冊的指令,請參閱 為什麼 Container Registry(ibmcloud cr)指令會失敗,並顯示尚未註冊的訊息? 以取得協助。 如果命令失敗,並顯示您尚未登入,請參閱 為何我無法登入 Container Registry? 以獲得協助。

ibmcloud cr api

此指令會回傳有關執行指令所針對之登錄 API 端點的詳細資訊。

ibmcloud cr api

範例

瞭解註冊表 API 端點的詳細資訊。

ibmcloud cr api

輸出

範例 中的命令會傳回以下輸出:

Registry API endpoint   https://us.icr.io/api
OK

ibmcloud cr exemption-add

建立安全問題的豁免。 您可以建立適用於不同範圍之安全問題的豁免。 範圍可以是帳戶、命名空間儲存庫摘要 或標籤

您可以透過標籤或摘要來識別範圍內的影像。 您可以透過摘要 <dns>/<namespace>/<repo>@<digest> 引用圖片,這會影響同一儲存庫中的摘要及其所有標籤,或透過標籤 <dns>/<namespace>/<repo>:<tag> 引用圖片。 其中,<dns> 為網域名稱,<namespace> 為命名空間,<repo> 為儲存庫,<digest> 為摘要,<tag> 為標籤。 若要列出所有影像,包括 未標記的 影像,請執行 ibmcloud cr image-digests 命令。

ibmcloud cr exemption-add --scope SCOPE --issue-type ISSUE_TYPE --issue-id ISSUE_ID [--output json | -o json]

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令選項

--scope SCOPE

若要將帳戶設定為範圍,請使用 "*" 作為值。

若要將命名空間、儲存庫、摘要或標籤設為範圍,請以以下其中一種格式輸入值:

  • namespace
  • namespace/repository
  • namespace/repository:tag
  • namespace/repository@digest
--issue-type ISSUE_TYPE

您要豁免的安全問題類型。 若要尋找有效的問題類型,請執行 ibmcloud cr exemption-types

--issue-id ISSUE_ID

您要豁免的安全問題 ID。 若要查找問題 ID,請執行指令 ibmcloud cr va <image>,其中 <image> 為您的映像檔名稱,並從「漏洞 ID」欄位中選取相應的值。

--output json, -o json

(可選) 以 JSON 格式輸出該清單。

範例

輸入 us.icr.io/birds/bluebird 作為範圍、cve 作為問題類型、CVE-2018-17929 作為問題 ID,為 us.icr.io/birds/bluebird 儲存庫中所有影像建立 ID 為 CVE-2018-17929 的 CVE 豁免。

ibmcloud cr exemption-add --scope us.icr.io/birds/bluebird --issue-type cve --issue-id CVE-2018-17929

輸入 "*" 作為範圍、cve 作為問題類型、CVE-2018-17929 作為問題 ID,為 ID 為 CVE-2018-17929 的 CVE 建立全帳戶的 CVE 豁免。

ibmcloud cr exemption-add --scope "*" --issue-type cve --issue-id CVE-2018-17929

ibmcloud cr exemption-list (ibmcloud cr exemptions)

別名: exemptions

列出安全問題的豁免。

您可以使用 標籤摘要 來識別範圍中的影像。 您可以透過摘要 <dns>/<namespace>/<repo>@<digest> 引用圖片,這會影響同一儲存庫中的摘要及其所有標籤,或透過標籤 <dns>/<namespace>/<repo>:<tag> 引用圖片。 其中,<dns> 為網域名稱,<namespace> 為命名空間,<repo> 為儲存庫,<digest> 為摘要,<tag> 為標籤。 若要列出所有影像,包括 未標記的 影像,請執行 ibmcloud cr image-digests 命令。

ibmcloud cr exemption-list [--scope SCOPE] [--output json | -o json]

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令選項

--scope SCOPE

(選用)僅列出適用於此範圍的豁免。

若要將命名空間、儲存庫、摘要或標籤設為範圍,請以以下其中一種格式輸入值:

  • namespace
  • namespace/repository
  • namespace/repository:tag
  • namespace/repository@digest
--output json, -o json

(可選) 以 JSON 格式輸出該清單。

範例

輸入 birds/bluebird 作為範圍,列出適用於 birds/bluebird 儲存庫中影像的所有安全問題豁免。

輸出包括帳戶範圍內的豁免、適用於 birds 命名空間的豁免,以及適用於 birds/bluebird 儲存庫的豁免。 輸出不包括任何範圍涵蓋 birds/bluebird 儲存庫內特定標籤的豁免。

ibmcloud cr exemption-list --scope birds/bluebird

birds/bluebird@sha256:101010101010 摘要中輸入 birds/bluebird@sha256:101010101010 作為範圍,列出您所有適用於影像的安全問題豁免。

輸出包括帳戶範圍內的豁免、適用於 birds 命名空間的豁免,以及適用於 birds/bluebird 儲存庫和 birds/bluebird@sha256:101010101010 摘要的豁免。 輸出不包括任何範圍涵蓋 birds/bluebird 儲存庫內特定標籤的豁免。

ibmcloud cr exemption-list --scope birds/bluebird@sha256:101010101010

ibmcloud cr exemption-rm

刪除安全問題的豁免。 若要檢視現有豁免,請執行 ibmcloud cr exemption-list

您可以使用 標籤摘要 來識別範圍中的影像。 您可以透過摘要 <dns>/<namespace>/<repo>@<digest> 引用圖片,這會影響同一儲存庫中的摘要及其所有標籤,或透過標籤 <dns>/<namespace>/<repo>:<tag> 引用圖片。 其中,<dns> 為網域名稱,<namespace> 為命名空間,<repo> 為儲存庫,<digest> 為摘要,<tag> 為標籤。 若要列出所有影像,包括 未標記的 影像,請執行 ibmcloud cr image-digests 命令。

ibmcloud cr exemption-rm --scope SCOPE --issue-type ISSUE_TYPE --issue-id ISSUE_ID [--output json | -o json]

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令選項

--scope SCOPE

若要將帳戶設定為範圍,請使用 "*" 作為值。

若要將命名空間、儲存庫、摘要或標籤設為範圍,請以以下其中一種格式輸入值:

  • namespace
  • namespace/repository
  • namespace/repository:tag
  • namespace/repository@digest
--issue-type ISSUE_TYPE

您要移除的證券發行豁免所屬的發行類型。 若要查詢您的豁免事項所屬的類別,請執行 ibmcloud cr exemption-list

--issue-id ISSUE_ID

您要移除之安全問題的豁免 ID。 若要尋找豁免的問題 ID,請執行 ibmcloud cr exemption-list

--output json, -o json

(可選) 以 JSON 格式輸出該清單。

範例

輸入 us.icr.io/birds/bluebird 作為範圍、cve 作為問題類型、CVE-2018-17929 作為問題 ID,為 us.icr.io/birds/bluebird 儲存庫中所有影像刪除 ID 為 CVE-2018-17929 的 CVE 豁免。

ibmcloud cr exemption-rm --scope us.icr.io/birds/bluebird --issue-type cve --issue-id CVE-2018-17929

輸入 "*" 作為範圍、cve 作為問題類型、CVE-2018-17929 作為問題 ID,刪除 ID 為 CVE-2018-17929 的 CVE 的全帳戶 CVE 豁免。

ibmcloud cr exemption-rm --scope "*" --issue-type cve --issue-id CVE-2018-17929

ibmcloud cr exemption-types

列出您可豁免的安全問題類型。

ibmcloud cr exemption-types [--output json | -o json]

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令選項

--output json, -o json
(可選) 以 JSON 格式輸出該清單。

範例

列出安全問題的類型。

ibmcloud cr exemption-types

輸出

範例 中的命令會傳回以下輸出:

Listing exemption types...
Issue type      Description
cve             CVE
sn              Security Notice
configuration   Configuration Issue
OK

ibmcloud cr iam-policies-enable

所有帳戶都需要 Cloud Identity and Access Management (IAM) 存取政策。

如果您使用的是 IAM 驗證,此指令可啟用細粒度授權。 如需詳細資訊,請參閱 管理 Container Registry 的 IAM 存取權限及 定義 IAM 存取政策

ibmcloud cr iam-policies-enable

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

範例

使用 IAM 政策來啟用細粒度授權。

ibmcloud cr iam-policies-enable

ibmcloud cr iam-policies-status

此指令會顯示目標 IBM Cloud Container Registry 帳戶的 IAM 存取政策狀態。 如需詳細資訊,請參閱 管理 Container Registry 的 IAM 存取權限及 定義 IAM 存取政策

所有帳戶都需要 IBM Cloud® Identity and Access Management (IAM) 存取政策。

ibmcloud cr iam-policies-status

範例

顯示您帳戶的 IAM 存取政策狀態。

ibmcloud cr iam-policies-status

輸出

範例 中的命令會傳回以下輸出:

IAM policy enforcement is enabled for account 'X's Account' in registry 'us.icr.io'.
OK

ibmcloud cr image-digests (ibmcloud cr digests)

別名: digests

列出 IBM Cloud 帳戶中的所有影像,包括 未標記的 影像。 此指令以長格式傳回 摘要。 當您使用摘要來識別影像時,請務必使用長格式。

如果您只想列出有標籤的影像,請執行 ibmcloud cr image-list 指令。

您可以使用 Repository 列 (repository) 和 Digest 列 (digest) 的組合,以 at (@) 符號分隔,建立格式為 repository@digest 的影像名稱,來引用影像。 您也可以使用 Repository 列 (repository) 中的內容和 Tags 列 (tag) 中的一個標籤的組合來參照圖片名稱,並以冒號 (:) 隔開,建立格式為 repository:tag 的圖片名稱。

ibmcloud cr image-digests [--format FORMAT | --quiet | -q | --output json | -o json] [--restrict RESTRICTION] [--include-ibm] [--no-va] [--va]

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令選項

--format FORMAT
(選用)使用 Go 範本來將輸出元素格式化。 如需詳細資訊,請參閱 格式化和過濾 Container Registry CLI 輸出
--quiet, -q
(可選)每張圖片的列出格式如下:repository@digest
--output json, -o json
(可選) 以 JSON 格式輸出該清單。
--restrict RESTRICTION
(可選)將輸出範圍限制為僅顯示指定命名空間或儲存庫中的圖片。
--include-ibm
(選用)將 IBM 提供的公用映像檔包括在輸出中。 預設只列出私人影像。 您只能在全局註冊表中檢視 IBM- 提供的影像。
--no-va
(可選)從輸出中排除 Vulnerability Advisor 安全性狀態結果。 如果您不需要安全狀態結果作為 ibmcloud cr image-digests 輸出的一部分,您可以使用此選項來提高效能。
--va
(可選)在輸出中包含 Vulnerability Advisor 安全性狀態結果。 您可以使用 --va 選項與 --restrict 選項,只接收您需要的資訊。

範例

repository@digest 使用 --quietrepository@digest 格式列出 birds 命名空間中的所有影像,包括未標記的影像,並輸入 birds 作為限制條件。

ibmcloud cr image-digests --restrict birds --quiet

輸出

範例 中的命令會傳回以下輸出:

us.icr.io/birds/bluebird@sha256:11ab001ab10011cd1000101cd0101010001ab111100cd00ab111
us.icr.io/birds/blackbird@sha256:22ef00ef002220002gh200222000gh00ef2222000ab00222

ibmcloud cr image-inspect

顯示特定映像檔的詳細資料。 您可以透過 摘要 repository@digest或標籤 repository:tag 來引用您要檢查的影像。

ibmcloud cr image-inspect [--format FORMAT] IMAGE [IMAGE...]

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令引數

IMAGE

您要取得其報告的映像檔名稱。 您可以藉由在指令中列出每一個映像檔,並以空格隔開每一個名稱,來檢查多個映像檔。

您可以透過摘要 <dns>/<namespace>/<repo>@<digest> 或標籤 <dns>/<namespace>/<repo>:<tag> 來識別影像。 其中,<dns> 為網域名稱,<namespace> 為命名空間,<repo> 為儲存庫,<digest> 為摘要,<tag> 為標籤。

若要尋找影像的名稱,請執行下列其中一個指令:

  • 若要透過摘要識別您的影像,請執行 ibmcloud cr image-digests 指令。 結合 Repository 列 (repository) 和 Digest 列 (digest) 的內容,並以 at (@) 符號分隔,建立格式為 repository@digest 的影像名稱。
  • 若要依標籤識別您的影像,請執行 ibmcloud cr image-list 指令。 結合 Repository 列 (repository) 和 Tag 列 (tag) 的內容,並以冒號 (:) 隔開,建立格式為 repository:tag 的影像名稱。 如果映像檔名稱中未指定標籤,則依預設會刪除以 latest 標記的映像檔。

指令選項

--format FORMAT
(選用)使用 Go 範本來將輸出元素格式化。 如需詳細資訊,請參閱 格式化和過濾 Container Registry CLI 輸出

範例

使用格式化指令 "{{ .Config.ExposedPorts }}" 並輸入 us.icr.io/birds/bluebird:1 作為影像,顯示 us.icr.io/birds/bluebird:1 影像的外露連接埠詳細資訊。

ibmcloud cr image-inspect  --format "{{ .Config.ExposedPorts }}" us.icr.io/birds/bluebird:1

ibmcloud cr image-list (ibmcloud cr images)

別名: images

顯示您在 IBM Cloud 帳戶中所有已標記的圖片。 如果您要列出所有影像,包括未標記的影像,請執行 ibmcloud cr image-digests 指令。 預設情況下,ibmcloud cr image-list 指令會以截斷格式傳回影像的 摘要ibmcloud cr image-digests 指令會回傳摘要的長格式。

當您使用摘要來識別影像時,請務必使用長格式。

圖片名稱是由「儲存庫」和「標籤」欄位的內容組合而成,格式如下: repository:tag

如果列出影像的命令超時,請參閱「列出影像時為何超時?

ibmcloud cr image-list [--format FORMAT] [--quiet | -q ] [--restrict RESTRICTION] [--include-ibm] [--no-trunc] [--show-type] [--no-va] [--va] [--output json | -o json]

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令選項

--format FORMAT
(選用)使用 Go 範本來將輸出元素格式化。 如需詳細資訊,請參閱 格式化和過濾 Container Registry CLI 輸出
--quiet, -q
(可選)每張圖片的列出格式如下:repository:tag
--restrict RESTRICTION
(可選)將輸出範圍限制為僅顯示指定命名空間或儲存庫中的圖片。
--include-ibm
(選用)將 IBM 提供的公用映像檔包括在輸出中。 預設只列出私人影像。 您只能在全局註冊表中檢視 IBM- 提供的影像。
--no-trunc
(可選)以長格式傳回影像摘要。
--show-type
(選用)顯示映像檔資訊清單類型。
--no-va
(可選)從輸出中排除 Vulnerability Advisor 安全性狀態結果。 如果您不需要安全狀態結果作為 ibmcloud cr image-list 輸出的一部分,您可以使用此選項來提高效能。
--va
(可選)在輸出中包含 Vulnerability Advisor 安全性狀態結果。 您可以使用 --va 選項與 --restrict 選項,只接收您需要的資訊。
--output json, -o json
(可選) 以 JSON 格式輸出該清單。

範例

repository:tag 格式顯示 birds 命名空間中的影像,而不截斷影像摘要,方法是使用 --quietrepository:tag 格式顯示影像,使用 --no-trunc 以長格式顯示影像摘要,並輸入 birds 作為限制。

ibmcloud cr image-list --restrict birds --quiet --no-trunc

輸出

範例 中的命令會傳回以下輸出:

us.icr.io/birds/bluebird:1

ibmcloud cr image-prune-untagged

刪除 IBM Cloud Container Registry 帳戶中所有 未標記的 影像。

您可以透過執行 ibmcloud cr image-digests 指令來檢視所有已標籤和未標籤的影像。 如果您只想檢視未標記的圖片,可以使用 Go 語言格式化執行 ibmcloud cr image-digests 指令,請參閱 ibmcloud cr image-digests 的 Go 格式化指令範例。 然後,您可以在執行 ibmcloud cr image-prune-untagged 指令之前,檢查是否真的要移除這些未標記的影像。

ibmcloud cr image-prune-untagged [--force | -f [--output json | -o json]] --restrict RESTRICTION

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令選項

--force, -f
(選用)強制執行指令而不產生使用者提示。
--output json, -o json
(可選) 輸出包含已清理未標記圖片結果的 JSON 檔案。 此選項必須與 --force 一併使用。
--restrict
(可選)將清理範圍限制為指定命名空間或儲存庫中未標記的影像。

範例

在沒有任何使用者提示的情況下,刪除 birds 名稱空間中所有未標記的影像,並將結果以 JSON 格式輸出,方法是使用 --force 選項強制執行該命令時沒有使用者提示,並輸入 --json 作為輸出,以及輸入 birds 作為限制。

ibmcloud cr image-prune-untagged [--force | -f [--json]] --restrict birds

ibmcloud cr image-restore

從垃圾筒中還原刪除的映像檔。 您可以選擇 依標籤摘要 還原。 如果按摘要還原,則會還原同一儲存庫中的摘要及其所有標籤。 若要找出垃圾筒中有哪些映像檔,請執行 ibmcloud cr trash-list 指令。

如果您在還原影像時遇到錯誤,顯示已標籤的影像存在,請參閱「為 什麼我在還原影像時遇到錯誤? 以獲得協助。

如果您以摘要還原影像,但某些標籤未還原,請參閱「為什麼我以摘要還原時沒有還原所有標籤? 以取得協助。

ibmcloud cr image-restore IMAGE

如需如何使用 ibmcloud cr image-restore 指令的相關資訊,請參閱還原映像檔

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令引數

IMAGE

您要從垃圾筒中還原之映像檔的名稱。

若要查閱垃圾桶中圖片的名稱,請執行 ibmcloud cr trash-list 指令。

您可以使用標籤或摘要來識別映像檔。 要還原的影像可以用摘要 <dns>/<namespace>/<repo>@<digest> 引用,它會還原同一儲存庫中的摘要及其所有標籤,或者用標籤 <dns>/<namespace>/<repo>:<tag> 引用。 其中,<dns> 為網域名稱,<namespace> 為命名空間,<repo> 為儲存庫,<digest> 為摘要,<tag> 為標籤。

映像檔可在垃圾筒中儲存 30 天。

範例

輸入 us.icr.io/birds/bluebird:1 作為映像,以還原 us.icr.io/birds/bluebird:1 的映像。

ibmcloud cr image-restore us.icr.io/birds/bluebird:1

ibmcloud cr image-rm

從 Container Registry 中刪除一個以上的指定映像檔。 您可以透過 摘要 repository@digest或標籤 repository:tag 來參照要刪除的影像。

若儲存庫內的相同映像檔摘要有多個標籤存在,ibmcloud cr image-rm 指令會移除基礎映像檔及其所有標籤。 如果同一張影像在不同的儲存庫或命名空間中也存在,則該影像的副本將不會被移除。 若要從圖片中移除一個標籤,同時確保底層圖片及其他標籤保持不變,請使用 ibmcloud cr image-untag 指令。

如果您要還原已刪除的映像檔,您可以執行 ibmcloud cr trash-list 指令來列出垃圾筒中的內容,然後執行 ibmcloud cr image-restore 指令來還原選取的映像檔。

ibmcloud cr image-rm IMAGE [IMAGE...]

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令引數

IMAGE

您要刪除之映像檔的名稱。 您可以藉由在指令中列出每一個映像檔,並以空格隔開每一個名稱,來同時刪除多個映像檔。 您可以透過摘要 <dns>/<namespace>/<repo>@<digest> 或標籤 <dns>/<namespace>/<repo>:<tag> 來識別影像。 其中,<dns> 為網域名稱,<namespace> 為命名空間,<repo> 為儲存庫,<digest> 為摘要,<tag> 為標籤。

映像檔可在垃圾筒中儲存 30 天。

若要尋找影像的名稱,請執行下列其中一個指令:

  • 若要透過摘要識別您的影像,請執行 ibmcloud cr image-digests 指令。 結合 Repository 列 (repository) 和 Digest 列 (digest) 的內容,並以 at (@) 符號分隔,建立格式為 repository@digest 的影像名稱。
  • 若要依標籤識別您的影像,請執行 ibmcloud cr image-list 指令。 結合 Repository 列 (repository) 和 Tag 列 (tag) 的內容,並以冒號 (:) 隔開,建立格式為 repository:tag 的影像名稱。 如果映像檔名稱中未指定標籤,則依預設會刪除以 latest 標記的映像檔。

範例

輸入 us.icr.io/birds/bluebird:1 作為圖片,刪除 us.icr.io/birds/bluebird:1 圖片。

ibmcloud cr image-rm us.icr.io/birds/bluebird:1

ibmcloud cr image-tag

將您在指令中指定的 標籤 新增至現有影像、將該標籤複製到另一個儲存庫,或將該標籤複製到不同命名空間中的儲存庫。 複製標籤時,其 摘要 的任何 Red Hat® 簽署也會被複製。 目標圖片 TARGET_IMAGE 是新圖片,而來源圖片 SOURCE_IMAGE 則是 IBM Cloud Container Registry 中現有的圖片。 來源及目標映像檔必須位於相同地區。 您可以透過摘要 repository@digest 或標籤 repository:tag 來引用您要標籤的來源影像。 您必須透過標籤引用目標影像。

您可以使用摘要 <dns>/<namespace>/<repo>@<digest> 或標籤 <dns>/<namespace>/<repo>:<tag> 識別來源影像。 您必須透過標籤 <dns>/<namespace>/<repo>:<tag> 引用目標影像。 其中,<dns> 為網域名稱,<namespace> 為命名空間,<repo> 為儲存庫,<digest> 為摘要,<tag> 為標籤。

若要尋找影像的名稱,請使用下列其中一種替代方法:

  • 若要透過摘要識別您的影像,請執行 ibmcloud cr image-digests 指令。 結合 Repository 列 (repository) 和 Digest 列 (digest) 的內容,並以 at (@) 符號分隔,建立格式為 repository@digest 的影像名稱。
  • 若要依標籤識別您的影像,請執行 ibmcloud cr image-list 指令。 結合 Repository 列 (repository) 和 Tag 列 (tag) 的內容,並以冒號 (:) 隔開,建立格式為 repository:tag 的影像名稱。

如果您在嘗試標記圖片時出現顯示錯誤,以下主題可能會有所幫助:

ibmcloud cr image-tag [SOURCE_IMAGE] [TARGET_IMAGE]

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令引數

SOURCE_IMAGE
來源映像檔的名稱。 您可以使用摘要 <dns>/<namespace>/<repo>@<digest> 或標籤 <dns>/<namespace>/<repo>:<tag> 識別來源影像。 其中,<dns> 為網域名稱,<namespace> 為命名空間,<repo> 為儲存庫,<digest> 為摘要,<tag> 為標籤。
TARGET_IMAGE
目標影像的名稱。TARGET_IMAGE 的格式必須是 repository:tag,例如 us.icr.io/namespace/image:latest

範例

us.icr.io/birds/bluebird:1 輸入為來源影像,將 us.icr.io/birds/bluebird:latest 輸入為目標影像,在影像 us.icr.io/birds/bluebird:1 中加入另一個標籤參考 latest

ibmcloud cr image-tag  us.icr.io/birds/bluebird:1 us.icr.io/birds/bluebird:latest

輸入 us.icr.io/birds/bluebird:peck 作為來源影像,並輸入 us.icr.io/birds/pigeon:peck 作為目標影像,將影像 us.icr.io/birds/bluebird:peck 複製到相同命名空間 birds/pigeon 中的另一個儲存庫。

ibmcloud cr image-tag us.icr.io/birds/bluebird:peck us.icr.io/birds/pigeon:peck

us.icr.io/birds/bluebird:peck 映像複製到您可以存取的另一個命名空間,例如 animals 命名空間,輸入 us.icr.io/birds/bluebird:peck 作為來源映像,輸入 us.icr.io/animals/dog:bark 作為目標映像。

ibmcloud cr image-tag us.icr.io/birds/bluebird:peck us.icr.io/animals/dog:bark

ibmcloud cr image-untag

從 IBM Cloud Container Registry 中的每個指定影像移除一個或多個標

若要從圖片中移除特定標籤,並確保底層圖片及其他標籤保持不變,請使用 ibmcloud cr image-untag 指令。 若要刪除底層圖片及其所有標籤,請改用 ibmcloud cr image-rm 指令。

ibmcloud cr image-untag IMAGE [IMAGE...]

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令引數

IMAGE

您要移除標籤的映像檔名稱。 您可以同時刪除多個影像的標籤,只要在指令中列出每個影像,並在每個名稱之間加上空格即可。IMAGE 的格式必須是 repository:tag,例如 us.icr.io/namespace/image:latest

若要尋找映像檔的名稱,請執行 ibmcloud cr image-list。 結合 Repository 列 (repository) 和 Tag 列 (tag) 的內容,並以冒號 (:) 隔開,建立格式為 repository:tag 的影像名稱。 如果映像檔名稱中未指定標籤,指令會失敗。

範例

輸入 us.icr.io/birds/bluebird:1 作為圖片,從 us.icr.io/birds/bluebird:1 圖片中移除標籤 1

ibmcloud cr image-untag us.icr.io/birds/bluebird:1

ibmcloud cr info

顯示您所登入之登錄的名稱及帳戶。

ibmcloud cr info [--verbose]

指令選項

--verbose
(可選) 顯示有關登錄環境的額外資訊。

範例

尋找註冊表的名稱和帳號。

ibmcloud cr info

輸出

範例 中的命令會傳回以下輸出:

Plugin version                    1.3.16
Container Registry                us.icr.io
Container Registry API endpoint   https://us.icr.io/api
IBM Cloud API endpoint            https://cloud.ibm.com
IBM Cloud account details         X's Account (1100110011001100)
OK

ibmcloud cr login

將本機 Docker 或 Podman 用戶端登入 IBM Cloud Container Registry。

如果要執行註冊表的 pushpull 指令,則必須使用此指令。 如果您要執行其他 ibmcloud cr 指令,不需要登入 Container Registry。

ibmcloud cr login [--client CLIENT]

Container Registry 支援其他用戶端以及 Docker 和 Podman。 若要使用其他用戶端登入,請參閱以 互動方式存取您的命名空間

如果您在嘗試登入時遇到問題,請參閱 為什麼我無法登入 Container Registry? 以獲得協助。macOS 如果您使用的是 Mac,並且在嘗試登入時遇到問題,請參閱為何 Docker 登入 Mac 失敗? 以獲得協助。

使用 ibmcloud cr login 指令登入 Container Registry 會受到 IAM 登入階段限制。 如果您的登錄已過期,請參閱 Container Registry 登錄為何一直過期? 以獲得協助。

指令選項

--client CLIENT
(可選)選擇要登入的用戶端。 有效值為 dockerpodman。 如果未使用此選項,且已安裝 Docker,則預設為 docker;如果未安裝 Docker,則預設為 podman

範例

若要使用 Podman 登入註冊表,請輸入 podman 作為用戶端。

ibmcloud cr login --client podman

ibmcloud cr manifest-inspect

檢視影像的 清單 內容。 您可以透過 摘要 repository@digest或標籤 repository:tag 來引用您要檢視的影像。

ibmcloud cr manifest-inspect [--quiet | -q ] IMAGE

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令引數

IMAGE

您要檢查資訊清單的映像檔名稱。 您可以透過摘要 <dns>/<namespace>/<repo>@<digest> 或標籤 <dns>/<namespace>/<repo>:<tag> 來識別影像。 其中,<dns> 為網域名稱,<namespace> 為命名空間,<repo> 為儲存庫,<digest> 為摘要,<tag> 為標籤。

若要尋找影像的名稱,請執行下列其中一個指令:

  • 若要透過摘要識別您的影像,請執行 ibmcloud cr image-digests 指令。 結合 Repository 列 (repository) 和 Digest 列 (digest) 的內容,並以 at (@) 符號分隔,建立格式為 repository@digest 的影像名稱。
  • 若要依標籤識別您的影像,請執行 ibmcloud cr image-list 指令。 結合 Repository 列 (repository) 和 Tag 列 (tag) 的內容,並以冒號 (:) 隔開,建立格式為 repository:tag 的影像名稱。

指令選項

--quiet, -q
(選用)減少輸出,僅顯示基本元素。

範例

輸入 us.icr.io/birds/bluebird:1 作為影像,檢視 us.icr.io/birds/bluebird:1 影像的清單內容。

ibmcloud cr manifest-inspect us.icr.io/birds/bluebird:1

ibmcloud cr namespace-add

為您的 命名空間將映像檔儲存在登錄中的儲存庫集合。 名稱空間與 IBM Cloud 帳戶相關聯,可包含多個名稱空間。選擇一個名稱,並將其新增至您的 IBM Cloud 帳戶中。

您可以使用下列其中一個選項,在您選擇的 資源群組所包含資源實例遵循的環境及限制。 使用者可以與資源群組相關聯,以啟用協同作業。中建立命名空間。

  • 在建立命名空間之前,請執行 ibmcloud target -g RESOURCE_GROUP 指令,其中 RESOURCE_GROUP 是資源群組。
  • 使用 ibmcloud cr namespace-add 命令上的 -g 選項指定所需的資源群組。

如果在資源群組中建立命名空間,就可以在 資源群組 層級設定命名空間中資源的存取權限。 但是,您仍然可以在帳戶層級或命名空間本身設定命名空間的權限。 如果您未指定資源群組,且資源群組並非目標,則會使用預設的資源群組。

如果您有不在資源群組中的舊命名空間,您可以將它指派給資源群組,請參閱 ibmcloud cr namespace-assign.

指定給資源群組的命名空間會顯示在 IBM Cloud 主控台的 Resource list 頁面。

ibmcloud cr namespace-add [-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)] NAMESPACE

有關資源群組的詳細資訊,請參閱 建立資源群組

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

必要條件

若要瞭解所需權限的詳細資訊,請參閱 平台管理角色設定 Container Registry 的存取角色

指令引數

NAMESPACE

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

請不要將個人資訊放在名稱空間的名稱中。

指令選項

-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)
(可選) 指定您要將命名空間新增至其中的資源群組名稱或 ID。 如果不設定此選項,則使用目標資源群組。 如果未設定此選項,且未鎖定資源群組,則會使用帳戶的預設資源群組。

範例

建立名稱為 birds2 的命名空間,並將其加入資源群組 beaks,方法是輸入 beaks 作為資源群組名稱,並輸入 birds2 作為命名空間。

ibmcloud cr namespace-add -g beaks birds2

輸出

範例 中的命令會傳回以下輸出:

Adding namespace 'birds2' in resource group 'beaks' for account X's Account in registry us.icr.io...
Successfully added namespace 'birds2'
OK

ibmcloud cr namespace-assign

在 Container Registry CLI 的 0.1.484 或更早版本中,或 2020 年 7 月 29 日之前在 IBM Cloud 主控台中創建的命名空間不會指定給資源群組。 您可以將未指派的命名空間指派給 IBM Cloud 帳戶的資源群組。 如果將命名空間指定給資源群組,就可以在 資源群 組層級設定對命名空間中資源的存取。 如果您未指定資源群組,且資源群組並非目標,則指令會失敗。

您只能將命名空間指定給資源群組一次。 當命名空間位於資源群組中時,您無法將其移到其他資源群組。

若要找出哪些命名空間已指派給資源群組,哪些尚未指派,請執行 ibmcloud cr namespace-list 命令,並使用 -v 選項。 指定給資源群組的命名空間也會顯示在 IBM Cloud 主控台的資源清單網頁中。

ibmcloud cr namespace-assign [-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)] NAMESPACE

有關資源群組的詳細資訊,請參閱 建立資源群組

必要條件

若要瞭解所需權限的詳細資訊,請參閱 平台管理角色設定 Container Registry 的存取角色

指令引數

NAMESPACE
您要指派給資源群組的命名空間。

指令選項

-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)
(可選) 指定您要將命名空間指派至的資源群組名稱或 ID。 如果不設定此選項,則使用目標資源群組。

範例

將名稱為 birds 的命名空間指定給資源群組 beaks,方法是輸入 beaks 作為資源群組名稱,輸入 birds 作為命名空間。

ibmcloud cr namespace-assign -g beaks birds

輸出

範例 中的命令會傳回以下輸出:

Assigning namespace 'birds' to resource group 'beaks' for account X's Account in registry us.icr.io...
Successfully assigned namespace 'birds' to resource group 'beaks.'
OK

ibmcloud cr namespace-list (ibmcloud cr namespaces)

別名: namespaces

顯示 IBM Cloud 帳戶所擁有的所有名稱空間。 您可以使用此指令列出命名空間,以便確認哪些命名空間已指定給資源群組,哪些命名空間尚未指定。 指定給資源群組的命名空間也會顯示在 IBM Cloud 主控台的資源清單網頁中。

ibmcloud cr namespace-list [--verbose | -v] [--output json | -o json]

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令選項

--verbose, -v
(可選)列出所有命名空間,並包含資源群組和命名空間建立日期的相關資訊。
--output json, -o json
(可選) 以 JSON 格式輸出該清單。

範例

使用 --verbose 選項,檢視您所有命名空間的清單,包括資源群組和建立日期的相關資訊。

ibmcloud cr namespace-list -v

輸出

範例 中的命令會傳回以下輸出:

Listing namespaces for account 'X's Account' in registry 'us.icr.io'...
Namespace   Resource Group   Created
birds       default          1 year ago
birds2      beaks            40 seconds ago
OK

ibmcloud cr namespace-rm

從 IBM Cloud 帳戶中移除名稱空間。 移除名稱空間時,會刪除此名稱空間中的映像檔。

ibmcloud cr namespace-rm NAMESPACE  [--force | -f]

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令引數

NAMESPACE
您要移除的名稱空間。

指令選項

--force, -f
(選用)強制執行指令而不產生使用者提示。

範例

輸入 birds 作為命名空間,移除 birds 命名空間。

ibmcloud cr namespace-rm birds

ibmcloud cr plan

針對您設為目標的登錄地區顯示定價方案。

ibmcloud cr plan [--output json | -o json]

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令選項

--output json, -o json
(可選) 以 JSON 格式輸出該清單。

範例

輸入 json 作為輸出,以 JSON 格式輸出您的定價方案。

ibmcloud cr plan -o json

輸出

範例 中的命令會傳回以下輸出:

{
	"plan": "Free"
}

ibmcloud cr plan-upgrade

針對您設為目標的登錄地區將您升級為標準方案。

ibmcloud cr plan-upgrade [PLAN]

如需方案的相關資訊,請參閱登錄方案

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令引數

PLAN
(選用)您要升級到的定價方案名稱。 如果未指定 PLAN,則預設值為 standard

範例

輸入 standard 升級為標準定價方案。

ibmcloud cr plan-upgrade standard

ibmcloud cr platform-metrics

您可以使用此指令啟用或停用平台指標。 您也可以使用它來找出您的帳戶是否針對註冊區域設定了平台指標。

如果要檢視 IBM Cloud Container Registry 的平台指標,必須執行 ibmcloud cr platform-metrics 指令選擇加入。

您必須指定其中一個指令選項,否則指令會出錯。

ibmcloud cr platform-metrics --enable | --disable | --status

如需更多關於可在 Container Registry 中檢視的平台指標的資訊,請參閱 監控 IBM Cloud Container Registry 的指標

必要條件

指令選項

--enable
(可選)為您的帳戶啟用此設定。
--disable
(可選)停用您帳戶的此設定。
--status
(可選)顯示此設定是否已針對您的帳戶啟用。

範例

使用 --enable 選項為您的帳戶啟用平台度量。

ibmcloud cr platform-metrics --enable

輸出

範例 中的命令會傳回以下輸出:

OK

ibmcloud cr private-only

針對您註冊區域的帳戶,防止透過公共網路連線進行影像拉取或推送。 您必須指定其中一個指令選項,否則指令會出錯。

ibmcloud cr private-only --enable | --disable | --status

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令選項

--enable
(可選)防止透過公共網路連線為您的帳戶拉取或推送影像。
--disable
(可選)為您的帳戶重新恢復透過公用網路連線拉取或推送影像。
--status
(可選)檢查您帳戶中的影像推送或拉取是否禁止使用公用連線。

範例

使用 --enable 選項,防止透過公共網路連線為您的帳戶拉取或推送影像。

ibmcloud cr private-only --enable

ibmcloud cr quota

顯示您針對目標註冊表區域的流量與儲存配額,以及相對於這些配額的使用狀況資訊。

ibmcloud cr quota [--output json | -o json]

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令選項

--output json, -o json
(可選) 以 JSON 格式輸出該清單。

範例

輸入 json 作為輸出選項,以 JSON 格式顯示您的流量和儲存配額。

ibmcloud cr quota -o json

輸出

範例 中的命令會傳回以下輸出:

{
	"usage": {
		"traffic": 0,
		"store": 0
	},
	"limit": {
		"traffic": 5368709120,
		"store": 536870912
	}
}

ibmcloud cr quota-set

針對您設為目標的登錄地區修改指定的配額。

ibmcloud cr quota-set [--traffic TRAFFIC] [--storage STORAGE]

必要條件

如需進一步了解所需的權限,請參閱 《 Container Registry 的存取角色》

指令選項

--traffic TRAFFIC
(選用)將資料流量配額變更為指定的值 (MB)。 如果您未獲授權,無法設定資料流量,或是設定了超出現行定價方案的值,則作業會失敗。
--storage STORAGE
(選用)將儲存空間配額變更為指定的值 (MB)。 如果您未獲授權,無法設定儲存空間配額,或是設定了超出現行定價方案的值,則作業會失敗。

範例

輸入 7000 作為流量配額,輸入 600 作為儲存配額,將拉取流量的配額限制設定為 7000 MB,將儲存設定為 600 MB。

ibmcloud cr quota-set --traffic 7000 --storage 600

輸出

範例 中的命令會傳回以下輸出:

Setting quotas: 'storage: 600 , traffic: 7000'...
OK

ibmcloud cr region

顯示目標地區及登錄。 如需相關資訊,請參閱地區

ibmcloud cr region

範例

找出您的目標地區和註冊表。

ibmcloud cr region

輸出

範例 中的命令會傳回以下輸出:

You are targeting region 'us-south', the registry is 'us.icr.io'.
OK

ibmcloud cr region-set

設定 IBM Cloud Container Registry 指令的目標地區。 若要列出可用的區域,請不帶任何選項執行此指令。 如需相關資訊,請參閱地區

ibmcloud cr region-set [REGION]

指令引數

REGION
(可選)目標區域的名稱,例如 us-south。 如需相關資訊,請參閱地區

範例

以達拉斯地區為目標,輸入 us-south 作為區域。

ibmcloud cr region-set us-south

輸出

範例 中的命令會傳回以下輸出:

The region is set to 'us-south', the registry is 'us.icr.io'.
OK

ibmcloud cr retention-policy-list

列出您帳戶的映像檔保留原則。 對於 IBM Cloud Container Registry 中名稱空間內的每一個儲存庫,映像檔保留原則會保留指定的映像檔數目。 名稱空間中的所有其他映像檔都會刪除。 您也可以查看「保留所有未標記圖片」的選項是否適用於該政策,以及是否已設定刪除的時限。

儲存庫內的某個映像檔由多個標籤參照時,該映像檔只會計算一次。 會保留最新的映像檔。 經歷時間是由映像檔的建立時間所決定,而不是它推送到登錄的時間。

ibmcloud cr retention-policy-list [--output json | -o json]

如需如何使用 ibmcloud cr retention-policy-list 指令的相關資訊,請參閱保留映像檔

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令選項

--output json, -o json
(可選) 以 JSON 格式輸出該清單。

範例

輸入 json 作為輸出,以 JSON 格式列出帳戶中的保留政策。

ibmcloud cr retention-policy-list -o json

輸出

範例 中的命令會傳回以下輸出:

{
	"birds": {
		"namespace": "birds",
		"account": "",
		"images_per_repo": 10,
		"deletion_threshold_days": 365,
		"retain_untagged": false
	},
	"birds2": {
		"namespace": "birds2",
		"account": "",
		"images_per_repo": -1,
		"retain_untagged": true
	}
}

ibmcloud cr retention-policy-set

對於 IBM Cloud Container Registry 中名稱空間內的每一個儲存庫設定一個原則,來保留指定的映像檔數目。 名稱空間中的所有其他映像檔都會刪除。 當您設定政策時,它會以互動方式執行,然後每天執行一次。 在每一個名稱空間中,您只能設定一個原則。

您可以選擇是否從決定保留的影像總數中排除所有未標記的影像。 您也可以設定最低年齡門檻,如此一來,無論「--images」的計數為何,年齡低於該門檻的圖片都會被保留下來。

儲存庫內的某個映像檔由多個標籤參照時,該映像檔只會計算一次。 會保留最新的映像檔。 經歷時間是由映像檔的建立時間所決定,而不是它推送到登錄的時間。

如果保留原則刪除您要保留的映像檔,則您可以還原該映像檔。 若要識別映像檔,您可以執行 ibmcloud cr trash-list 指令來列出垃圾筒中的內容,然後執行 ibmcloud cr image-restore 指令來還原選取的映像檔。

如果您要取消保留政策,請參閱 更新保留政策以保留所有影像

ibmcloud cr retention-policy-set [--retain-untagged] [--deletion-threshold-days DAYS] [--force | -f] --images IMAGE_COUNT NAMESPACE

如需如何使用 ibmcloud cr retention-policy-set 指令的相關資訊,請參閱保留映像檔

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令引數

NAMESPACE
您要為其建立原則的名稱空間。

指令選項

--retain-untagged
(可選)在處理保留政策時,保留所有未標記的圖片。 只分析已標記的影像,如果影像不符合標準,就會被刪除。 如果未指定該選項,則會分析所有已標記和未標記的影像,如果影像不符合條件,則會被刪除。
--deletion-threshold-days
(可選) 設定圖片必須達到多少天(以天為單位)的最低天數,保留政策才能刪除該圖片。 比 DAYS 更新的影像將始終被保留,即使保留這些影像會導致保留數量超過 --images 所設定的上限。 DAYS 必須為正整數。 預設值為 0,這表示不適用任何閾值。
--force, -f
(選用)強制執行指令而不產生使用者提示。
--images
決定在指定的名稱空間中每個儲存庫內要保留多少個映像檔。 將保留最新的映像檔。 映像的年齡由其建立日期決定。IMAGE_COUNT 是您希望在命名空間的每個儲存庫中保留的映像數量。 若要將政策恢復至預設狀態(使所有圖片均維持設定),請將 IMAGE_COUNT 改為 All

範例 1

輸入 20 作為要保留的影像數量,並輸入 birds 作為命名空間,設定保留 birds 命名空間中每個儲存庫內最新 20 個影像的政策。 分析所有有標籤和沒有標籤的影像,如果影像不符合條件,就會被刪除。

ibmcloud cr retention-policy-set --images 20 birds

範例 1 的輸出

範例 1 中的指令會傳回以下輸出:

Found n images to delete.
OK
A scheduled retention policy is set that keeps 20 images in each repository in birds and retain-untagged is set to false.
OK

範例 2

設定一項政策,在 birds 命名空間中的每個儲存庫中保留最新的 10 個映像檔,但保護任何建立未滿 90 天的映像檔免於被刪除,即使保留這些映像檔的數量超過 10 個亦然。

ibmcloud cr retention-policy-set --images 10 --deletion-threshold-days 90 birds

範例 2 的輸出

範例 2 中的指令會傳回以下輸出:

Found n images to delete.
OK
A scheduled retention policy is set that keeps 10 images in each repository in birds, with a deletion threshold of 90 days, and retain-untagged is set to false.
OK

範例 3

輸入 All 作為要保留的影像數量,並輸入 birds 作為命名空間,將策略還原為預設狀態,以便將所有影像保留在 birds 命名空間中。

ibmcloud cr retention-policy-set --images All birds

範例 3 的輸出結果

範例 3 中的指令會回傳以下輸出:

The retention policy to keep all images in birds is set.
OK

ibmcloud cr retention-run

請在 IBM Cloud Container Registry 中為名稱空間內的每個儲存庫保留指定數量的映像檔,而清理名稱空間。 名稱空間中的所有其他映像檔都會刪除。

您可以選擇是否從決定保留的影像總數中排除所有未標記的影像。 您也可以設定最低年齡門檻,如此一來,無論「--images」的計數為何,年齡低於該門檻的圖片都會被保留下來。

儲存庫內的某個映像檔由多個標籤參照時,該映像檔只會計算一次。 會保留最新的映像檔。 經歷時間是由映像檔的建立時間所決定,而不是它推送到登錄的時間。

保留指令針對命名空間中的每個儲存庫執行。 如果您的命名空間中有一個以上的儲存庫,執行保留指令後的影像計數可能會高於您設定為儲存庫最大值的數目。 例如,如果您將保留指令設定為每個儲存庫 500 個影像,而您的命名空間中有 10 個儲存庫,則影像數量可能為 5,000 個。

如果您要還原已刪除的映像檔,您可以執行 ibmcloud cr trash-list 指令來列出垃圾筒中的內容,然後執行 ibmcloud cr image-restore 指令來還原選取的映像檔。

如果您期望看到的影像沒有顯示在產生的清單中,請參閱 為何保留指令沒有顯示所有影像? 以獲得協助。

ibmcloud cr retention-run [--force | -f [--output json | -o json]] [--retain-untagged] [--deletion-threshold-days DAYS] --images IMAGE_COUNT NAMESPACE

如需如何使用 ibmcloud cr retention-run 指令的相關資訊,請參閱保留映像檔

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令引數

NAMESPACE
要清除的名稱空間。

指令選項

--force, -f
(選用)強制執行指令而不產生使用者提示。
--output json, -o json
(選用)包含清除名稱空間結果的輸出 JSON。 此選項必須與 --force 一併使用。
--retain-untagged
(可選)在處理保留政策時,保留所有未標記的圖片。 只分析已標記的影像,如果影像不符合標準,就會被刪除。 如果未指定該選項,則會分析所有已標記和未標記的影像,如果影像不符合條件,則會被刪除。
--deletion-threshold-days
(可選) 設定圖片必須達到之最低天數,保留程序才會刪除該圖片。 比 DAYS 更新的影像將始終被保留,即使保留這些影像會導致保留數量超過 --images 所設定的上限。 DAYS 必須為正整數。 預設值為 0,這表示不適用任何閾值。
--images
決定在指定的名稱空間中每個儲存庫內要保留多少個映像檔。 將保留最新的映像檔。 映像的年齡由其建立日期決定。IMAGE_COUNT 是您希望在命名空間的每個儲存庫中保留的映像數量。

範例

輸入 20 作為要保留的影像數量,並輸入 birds 作為命名空間,在 birds 命名空間中保留每個儲存庫中最新的 20 個影像。

ibmcloud cr retention-run --images 20 birds

輸出

範例 中的命令會傳回以下輸出:

Retrieving images to delete from namespace 'birds' in registry us.icr.io'...
Found n images to delete.
OK

ibmcloud cr trash-list

顯示 IBM Cloud 帳戶中垃圾筒內的所有映像檔。 您也可以查看該圖片從垃圾桶中移除前還剩多少天。 驅逐前剩餘的天數會四捨五入。 例如,如果移除前的時間為 2 小時,則顯示為 1 天。 圖片從您的即時儲存庫中刪除後,會在垃圾桶中保留 30 天。

如果您要從垃圾筒中還原映像檔,請執行 ibmcloud cr image-restore 指令。如需相關資訊,請參閱還原映像檔

您無法從垃圾桶中刪除圖片。 映像檔可在垃圾筒中儲存 30 天。 垃圾桶中的圖片不會向您收費。

ibmcloud cr trash-list [--restrict NAMESPACE] [--output json | -o json]

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令選項

--restrict NAMESPACE
(選用)限制輸出,只顯示所指定名稱空間中的映像檔。
--output json, -o json
(選用)包含垃圾筒內容之詳細資料的輸出 JSON。

範例

輸入 birds 作為限制,顯示 birds 命名空間中垃圾桶的影像。

ibmcloud cr trash-list --restrict birds

輸出

範例 中的命令會傳回以下輸出:

Listing the contents of the trash...
Digest   Days until expiry   Tags
110011   24                  1
OK

ibmcloud cr va-version

找出您使用的 Vulnerability Advisor 版本。 版本 4 是唯一有效的版本。

ibmcloud cr va-version

範例

找出您使用的 Vulnerability Advisor 版本。

ibmcloud cr va-version

輸出

範例 中的命令會傳回以下輸出:

You are targeting Vulnerability Advisor version 'v4'.
OK

ibmcloud cr va-version-set

設定 Vulnerability Advisor 的版本。 唯一的有效值是 v4

如果您嘗試設定 Vulnerability Advisor 的無效版本,您會得到 en 錯誤,請參閱為 何會出現指定 Vulnerability Advisor 版本無效的錯誤? 以獲得協助。

ibmcloud cr va-version-set [VERSION]

指令引數

VERSION
(可選)您要使用的 Vulnerability Advisor 版本。 唯一的有效值是 v4。 若未指定 VERSION,預設值為 v4

範例

輸入 v4 作為版本,將 Vulnerability Advisor 的版本設定為版本 4:

ibmcloud cr va-version-set v4

輸出

範例 中的命令會傳回以下輸出:

You are targeting Vulnerability Advisor version 'v4'.
OK

ibmcloud cr vulnerability-assessment (ibmcloud cr va)

別名: va

檢視映像檔的漏洞評量報告。

ibmcloud cr vulnerability-assessment [--extended | -e] [--vulnerabilities | -v] [--output FORMAT | -o FORMAT] IMAGE [IMAGE...]

必要條件

如需進一步了解所需的權限,請參閱 《 使用 Container Registry 的存取角色 》。

指令引數

IMAGE

您要取得其報告的映像檔名稱。 報告會指出映像檔是否有任何已知的套件漏洞。 您可以藉由在指令中列出每一個映像檔,並以空格隔開每一個名稱,來同時要求多個映像檔的報告。

若要尋找映像檔的名稱,請執行 ibmcloud cr image-list。 結合 Repository 列 (repository) 和 Tag 列 (tag) 的內容,並以冒號 (:) 隔開,建立格式為 repository:tag 的影像名稱。 如果映像檔名稱中未指定標籤,則報告會評量以 latest 標記的映像檔。

如需支援的 Docker 基本映像的詳細資訊,請參閱 Vulnerable packages

如需相關資訊,請參閱使用 Vulnerability Advisor 管理映像檔安全

指令選項

--extended, -e

(選用)指令輸出會針對有漏洞的套件顯示有關修正程式的其他資訊。

--vulnerabilities, -v

(選用)指令輸出限制為只顯示漏洞。

--output FORMAT, -o FORMAT

(選用)以選擇的格式傳回指令輸出。 預設格式為 text

支援的格式如下:

  • text
  • json

範例

輸入 us.icr.io/birds/bluebird:1 作為影像,檢視 us.icr.io/birds/bluebird:1 影像的標準弱點評估報告。

ibmcloud cr vulnerability-assessment us.icr.io/birds/bluebird:1

使用 -- vulnerabilities 選項,並輸入 json 作為輸出的格式,以及輸入 us.icr.io/birds/bluebird:1 作為影像,檢視以 JSON 格式顯示 us.icr.io/birds/bluebird:1 影像的弱點評估報告。

ibmcloud cr vulnerability-assessment --vulnerabilities --output json us.icr.io/birds/bluebird:1