Container Registry CLI
您可以使用 container-registry
CLI 插件中提供的 IBM Cloud® Container Registry CLI 来管理 IBM Cloud 账户的 注册表包含用于创建容器的公共或专用映像的存储和分发服务。及其资源。
先决条件
在使用 Container Registry CLI 之前,必须完成以下前提条件。
- 安装
ibmcloud
CLI 插件,请参阅 IBM Cloud CLI 入门。 - 安装
container-registry
CLI 插件;请参阅安装container-registry
CLI 插件。 - 使用
ibmcloud login
命令登录到 IBM Cloud,以生成 访问令牌消费者代表用户访问受保护资源时使用的值,而不是使用用户的服务提供商凭据。 并认证会话,以便可以在 CLI 中运行命令。
注释
要进一步了解如何使用 Container Registry CLI,请参阅 IBM Cloud Container Registry 入门。
当 ibmcloud
CLI 和 container-registry
CLI 插件的更新可用时,将在命令行上通知您。 确保更新 CLI,以便使用所有可用命令和选项。 如果要查看 container-registry
CLI 插件的当前版本,请运行 ibmcloud plugin list
命令。
有关某些 Container Registry 命令所需的 IAM 平台和服务访问角色的更多信息,请参阅 管理 Container Registry的 IAM 访问权。
不要将个人信息放入容器映像、名称空间名称、描述字段或任何映像配置数据(例如,映像名称或映像标签)中。
如果 Container Registry 命令失败,并返回错误,说明它们不是已注册的命令,请参阅 为什么 cr
命令失败,说明它们未注册? 以获取帮助。 如果命令未能指示您未登录,请参阅 为什么我无法登录到 Container Registry? 以获取帮助。
ibmcloud cr api
该命令返回命令运行所针对的注册表 API 端点的详细信息。
ibmcloud cr api
先决条件
无
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,请运行
ibmcloud cr va <image>
,其中<image>
是您的图像名称,并使用漏洞 ID 或配置问题 ID 列中的相关值。 --output json
,-o json
-
(可选)以 JSON 格式输出列表。
示例
针对 CVE-2018-17929
存储库中的所有映像,为标识为 us.icr.io/birds/bluebird
的 CVE 创建 CVE 豁免。
ibmcloud cr exemption-add --scope us.icr.io/birds/bluebird --issue-type cve --issue-id CVE-2018-17929
针对标识为 CVE-2018-17929
的 CVE 创建帐户范围的 CVE 豁免。
ibmcloud cr exemption-add --scope "*" --issue-type cve --issue-id CVE-2018-17929
为标记为 application_configuration:nginx.ssl_protocols
的单个映像的问题 us.icr.io/birds/bluebird:1
创建配置问题豁免。
ibmcloud cr exemption-add --scope us.icr.io/birds/bluebird:1 --issue-type configuration --issue-id application_configuration:nginx.ssl_protocols
为 application_configuration:nginx.ssl_protocols
问题创建单个图像的配置问题豁免,摘要为 us.icr.io/birds/bluebird@sha256:101010101010
。
ibmcloud cr exemption-add --scope us.icr.io/birds/bluebird@sha256:101010101010 --issue-type configuration --issue-id application_configuration:nginx.ssl_protocols
ibmcloud cr exemption-list
(ibmcloud cr 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
名称空间的免除以及作用域为 birds/bluebird
存储库的免除。 输出不包含作用域限定为 birds/bluebird
存储库中特定标记的任何免除。
ibmcloud cr exemption-list --scope birds/bluebird
在 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
先决条件
要了解有关所需权限的更多信息,请参阅 配置 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
-
要除去的安全问题豁免的标识。 要查找豁免的问题标识,请运行
ibmcloud cr exemption-list
。
示例
针对 CVE-2018-17929
存储库中的所有映像,为标识为 us.icr.io/birds/bluebird
的 CVE 删除 CVE 豁免。
ibmcloud cr exemption-rm --scope us.icr.io/birds/bluebird --issue-type cve --issue-id CVE-2018-17929
删除标识为 CVE-2018-17929
的 CVE 的帐户范围的 CVE 豁免。
ibmcloud cr exemption-rm --scope "*" --issue-type cve --issue-id CVE-2018-17929
为标记为 application_configuration:nginx.ssl_protocols
的单个映像的问题 us.icr.io/birds/bluebird:1
删除配置问题豁免。
ibmcloud cr exemption-rm --scope us.icr.io/birds/bluebird:1 --issue-type configuration --issue-id application_configuration:nginx.ssl_protocols
删除问题 application_configuration:nginx.ssl_protocols
的单个图像的配置问题豁免,摘要 us.icr.io/birds/bluebird@sha256:101010101010
。
ibmcloud cr exemption-rm --scope us.icr.io/birds/bluebird@sha256:101010101010 --issue-type configuration --issue-id application_configuration:nginx.ssl_protocols
ibmcloud cr exemption-types
列出可以豁免的安全问题的类型。
ibmcloud cr exemption-types [--output json | -o json]
先决条件
要了解有关所需权限的更多信息,请参阅 配置 Container Registry 的访问角色。
命令选项
--output json
,-o json
- (可选)以 JSON 格式输出列表。
ibmcloud cr iam-policies-enable
从 2022 年 7 月 5 日起,所有账户都需要 Cloud Identity and Access Management (IAM) 访问策略。 如果您在 2019 年 2 月 Container Registry 中提供 IAM API 密钥策略之前开始使用 IBM Cloud Container Registry,则必须确保使用 IAM 访问策略管理对 Container Registry 服务的访问。 如需了解更多信息,请参阅 从 2022 年 7 月 5 日起需要 IAM 访问策略。
如果使用的是 IAM 身份验证,该命令将启用细粒度授权。 有关更多信息,请参阅 管理 Container Registry的 IAM 访问权 和 定义 IAM 访问策略。
ibmcloud cr iam-policies-enable
先决条件
要了解有关所需权限的更多信息,请参阅 配置 Container Registry 的访问角色。
ibmcloud cr iam-policies-status
此命令显示目标 IBM Cloud Container Registry 帐户的 IAM 访问策略状态。 有关更多信息,请参阅 管理 Container Registry的 IAM 访问权 和 定义 IAM 访问策略。
从 2022 年 7 月 5 日起,所有账户都需要 IBM Cloud® Identity and Access Management (IAM) 访问策略。 如果您在 2019 年 2 月 Container Registry 中提供 IAM API 密钥策略之前开始使用 IBM Cloud Container Registry,则必须确保使用 IAM 访问策略管理对 Container Registry 服务的访问。 如需了解更多信息,请参阅 从 2022 年 7 月 5 日起需要 IAM 访问策略。
ibmcloud cr iam-policies-status
ibmcloud cr image-digests
(ibmcloud cr digests
)
列出 IBM Cloud 帐户中的所有映像,包括 未标记的 映像。 此命令以长格式返回 digest。 当您使用摘要来识别图像时,请始终使用长格式。
如果只想列出标记的映像,请运行 ibmcloud cr image-list
命令。
您可以使用 存储库 列 (repository
) 和 摘要 列 (digest
) 的组合 (以 at (@
) 符号分隔) 来引用映像,以创建格式为 repository@digest
的映像名称。 您还可以使用 存储库 列 (repository
)
的内容与 标记 列 (tag
) 中以冒号 (:
) 分隔的其中一个标记的组合来引用映像名称,以创建格式为 repository:tag
的映像名称。
Vulnerability Advisor 版本 3 从 2023 年 11 月 13 日开始停用。 有关如何更新到 V 4 的更多信息,请参阅 Vulnerability Advisor V 3 将于 2023 年 11 月 13 日停用。
从 2023 年 7 月 24 日起,不推荐使用 --json
选项,并将其替换为 --output json
选项。
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 安全状态结果。 使用此选项可确保您已准备好 IBM Cloud Container Registry CLI 插件 V 1.0.0。 您可以将
--va
选项与--restrict
选项配合使用,以仅接收所需的信息。
示例
以 repository@digest
格式显示 birds
名称空间中的所有映像 (包括未标记的映像)。
ibmcloud cr image-digests --restrict birds --quiet
ibmcloud cr image-inspect
显示有关特定映像的详细信息。 您可以通过 摘要 repository@digest
或 标记 repository:tag
来引用要检查的映像。
ibmcloud cr image-inspect [--format FORMAT] IMAGE [IMAGE...]
先决条件
要了解有关所需权限的更多信息,请参阅 使用 Container Registry 的访问角色。
命令选项
--format FORMAT
-
(可选)使用 Go 模板来设置输出元素的格式。 有关更多信息,请参阅 格式化和过滤 Container Registry CLI 输出。
IMAGE
-
要获取其报告的映像的名称。 可以通过在命令中列出每个映像(各名称之间用一个空格分隔)来检查多个映像。
您可以使用摘要
<dns>/<namespace>/<repo>@<digest>
或标签<dns>/<namespace>/<repo>:<tag>
来识别图像。 其中,<dns>
是域名,<namespace>
是命名空间,<repo>
是存储库,<digest>
是摘要,<tag>
是标记。要查找映像的名称,请运行下列其中一个命令:
- 要通过摘要来标识映像,请运行
ibmcloud cr image-digests
命令。 将 存储库 列 (repository
) 和 摘要 列 (digest
) 的内容以 at (@
) 符号分隔,以创建格式为repository@digest
的映像名称。 - 要按标记标识映像,请运行
ibmcloud cr image-list
命令。 将 存储库 列 (repository
) 和 标记 列 (tag
) 的内容以冒号 (:
) 分隔,以创建格式为repository:tag
的映像名称。 如果未在映像名称中指定标记,那么缺省情况下会删除标记为latest
的映像。
- 要通过摘要来标识映像,请运行
示例
使用以下格式化指令显示图像 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
)
显示 IBM Cloud 账户中的所有标记图片。 如果要列出所有映像 (包括未标记的映像),请运行 ibmcloud cr image-digests
命令。 缺省情况下,ibmcloud cr image-list
命令以截断的格式返回图像的 摘要。
ibmcloud cr image-digests
命令返回摘要的长格式。
当您使用摘要来识别图像时,请始终使用长格式。
映像名称是 存储库 和 标记 列的内容组合,格式为 repository:tag
。
Vulnerability Advisor 版本 3 从 2023 年 11 月 13 日开始停用。 有关如何更新到 V 4 的更多信息,请参阅 Vulnerability Advisor V 3 将于 2023 年 11 月 13 日停用。
如果用于列出映像的命令超时,请参阅 为什么在我列出映像时超时? 以获取帮助。
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 安全状态结果。 使用此选项可确保您已准备好 IBM Cloud Container Registry CLI 插件 V 1.0.0。 您可以将
--va
选项与--restrict
选项配合使用,以仅接收所需的信息。 --output json
,-o json
- (可选)以 JSON 格式输出列表。
示例
以 repository:tag
格式显示 birds
命名空间中的图像,不截断图像摘要。
ibmcloud cr image-list --restrict birds --quiet --no-trunc
ibmcloud cr image-prune-untagged
删除 IBM Cloud Container Registry 帐户中的所有 未标记 映像。
从 2023 年 7 月 24 日起,不推荐使用 --json
选项,并将其替换为 --output json
选项。
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 格式输出结果。
ibmcloud cr image-prune-untagged [--force | -f [--json]] --restrict birds
ibmcloud cr image-restore
从废纸篓复原已删除的映像。 您可以选择通过 标记 或 摘要 进行复原。 如果按摘要进行复原,那么将复原同一存储库中的摘要及其所有标记。 要了解废纸篓中的内容,请运行
ibmcloud cr trash-list
命令。
如果在复原表示标记的映像存在的映像时发生错误,请参阅 为什么在复原映像时发生错误? 以获取帮助。
如果要通过摘要复原映像,但某些标记未复原,请参阅 为什么在我通过摘要复原时未复原所有标记? 以获取帮助。
ibmcloud cr image-restore IMAGE
先决条件
要了解有关所需权限的更多信息,请参阅 使用 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
,请运行以下命令。
ibmcloud cr image-restore us.icr.io/birds/bluebird:1
有关如何使用 ibmcloud cr image-restore
命令的更多信息,请参阅复原映像。
ibmcloud cr image-rm
从 Container Registry 中删除一个或多个指定的映像。 您可以通过 digest repository@digest
或 tag 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
) 和 摘要 列 (digest
) 的内容以 at (@
) 符号分隔,以创建格式为repository@digest
的映像名称。 - 要按标记标识映像,请运行
ibmcloud cr image-list
命令。 将 存储库 列 (repository
) 和 标记 列 (tag
) 的内容以冒号 (:
) 分隔,以创建格式为repository:tag
的映像名称。 如果未在映像名称中指定标记,那么缺省情况下会删除标记为latest
的映像。
- 要通过摘要来标识映像,请运行
示例
删除映像 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
) 和 摘要 列 (digest
) 的内容以 at (@
) 符号分隔,以创建格式为repository@digest
的映像名称。 - 要按标记标识映像,请运行
ibmcloud cr image-list
命令。 将 存储库 列 (repository
) 和 标记 列 (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
中添加另一个标签 latest
,引用。
ibmcloud cr image-tag us.icr.io/birds/bluebird:1 us.icr.io/birds/bluebird:latest
将映像 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
中。
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
) 和 标记 列 (tag
) 的内容以冒号 (:
) 分隔,以创建格式为repository:tag
的映像名称。 如果映像名称中未指定标记,那么命令将失败。
示例
从映像 1
除去标记 us.icr.io/birds/bluebird:1
。
ibmcloud cr image-untag us.icr.io/birds/bluebird:1
ibmcloud cr info
显示登录到的注册表的名称和帐户。
ibmcloud cr info
先决条件
无
ibmcloud cr login
将本地 Docker 或 Podman 客户机登录到 IBM Cloud Container Registry。
如果要对注册表运行 push
或 pull
命令,那么此命令是必需的。 如果要运行其他 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
- (可选) 选择要登录的客户机。 有效值为
docker
和podman
。 如果未使用此选项并且已安装 Docker,那么缺省值为docker
; 如果未安装 Docker,那么缺省值为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
) 和 摘要 列 (digest
) 的内容以 at (@
) 符号分隔,以创建格式为repository@digest
的映像名称。 - 要按标记标识映像,请运行
ibmcloud cr image-list
命令。 将 存储库 列 (repository
) 和 标记 列 (tag
) 的内容以冒号 (:
) 分隔,以创建格式为repository:tag
的映像名称。
- 要通过摘要来标识映像,请运行
--quiet
,-q
-
(可选)减少输出以仅显示必要元素。
示例
要查看 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 控制台的 资源列表 页面中。
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。 如果未设置此选项,那么将使用目标资源组。 如果未设置此选项,并且未将资源组作为目标,那么将使用帐户的缺省资源组。
示例
创建名称为 birds
的名称空间,并将其添加到资源组 beaks
。
ibmcloud cr namespace-add -g beaks birds
ibmcloud cr namespace-assign
在 Container Registry CLI 或更低版本的 V 0.1.484 中创建的名称空间,或者在 2020 年 7 月 29 日之前在 IBM Cloud 控制台中创建的名称空间,不会分配给资源组。 您可以将未分配的名称空间分配给 IBM Cloud 帐户的资源组。 如果将名称空间分配给资源组,那么可以在 资源组 级别配置对名称空间中资源的访问权。 如果未指定资源组,并且未将资源组作为目标,那么该命令将失败。
只能将名称空间分配给资源组一次。 当名称空间位于资源组中时,无法将其移动到另一个资源组。
要了解哪些名称空间已分配给资源组,哪些名称空间未分配,请运行带有 -v
选项的 ibmcloud cr namespace-list
命令。 分配给资源组的命名空间也会显示在 IBM Cloud 控制台的资源列表页面中。
ibmcloud cr namespace-assign -g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID) NAMESPACE
有关资源组的更多信息,请参阅 创建资源组。
先决条件
要了解有关所需许可权的更多信息,请参阅 平台管理角色 和 用于配置 Container Registry 的访问角色。
命令选项
-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)
- (可选)指定要为其分配命名空间的资源组名称或 ID。 如果未设置此选项,那么将使用目标资源组。
NAMESPACE
- 要分配给资源组的名称空间。
示例
将名称为 birds
的名称空间分配给资源组 beaks
。
ibmcloud cr namespace-assign -g beaks birds
ibmcloud cr namespace-list
(ibmcloud cr namespaces
)
显示 IBM Cloud 帐户拥有的所有名称空间。 您可以使用此命令来列出名称空间,以便可以验证哪些名称空间已分配给资源组,哪些名称空间未分配。 分配给资源组的命名空间也会显示在 IBM Cloud 控制台的资源列表页面中。
ibmcloud cr namespace-list [--verbose | -v] [--output json | -o json]
先决条件
要了解有关所需权限的更多信息,请参阅 使用 Container Registry 的访问角色。
命令选项
--verbose
,-v
- (可选) 列出所有名称空间,并包含有关资源组和名称空间的创建日期的信息。
--output json
,-o json
- (可选)以 JSON 格式输出列表。
示例
查看所有名称空间的列表,包括有关资源组和创建日期的信息。
ibmcloud cr namespace-list -v
ibmcloud cr namespace-rm
从 IBM Cloud 帐户中除去名称空间。 除去名称空间时,将删除此名称空间中的映像。
ibmcloud cr namespace-rm NAMESPACE [--force | -f]
先决条件
要了解有关所需权限的更多信息,请参阅 配置 Container Registry 的访问角色。
命令选项
NAMESPACE
- 要除去的名称空间。
--force
,-f
- (可选)强制命令运行,而不显示用户提示。
示例
移除命名空间 birds
。
ibmcloud cr namespace-rm birds
ibmcloud cr plan
显示您设置为目标的注册表区域的价格套餐。
ibmcloud cr plan [--output json | -o json]
先决条件
要了解有关所需权限的更多信息,请参阅 配置 Container Registry 的访问角色。
命令选项
--output json
,-o json
- (可选)以 JSON 格式输出列表。
ibmcloud cr plan-upgrade
为您将设置为目标的注册表区域升级为标准套餐。
ibmcloud cr plan-upgrade [PLAN]
有关套餐的更多信息,请参阅注册表套餐。
先决条件
要了解有关所需权限的更多信息,请参阅 配置 Container Registry 的访问角色。
命令选项
PLAN
- (可选)要升级为的价格套餐的名称。 如果未指定
PLAN
,缺省值为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。
先决条件
- 必须设置 IBM Cloud Monitoring,请参阅 IBM Cloud Monitoring。
- 针对平台度量值启用 IBM Cloud Monitoring 实例。
- 要了解有关所需权限的更多信息,请参阅 配置 Container Registry 的访问角色。
命令选项
--enable
- (可选)为您的账户启用该设置。
--disable
- (可选)禁用账户设置。
--status
- (可选)显示账户是否已启用该设置。
示例
为您的帐户启用平台度量。
ibmcloud cr platform-metrics --enable
ibmcloud cr private-only
防止映像拉取或推送您要作为目标的注册表区域的帐户的公用网络连接。 必须指定其中一个命令选项,否则命令将失败并产生错误。
ibmcloud cr private-only --enable | --disable | --status
先决条件
要了解有关所需权限的更多信息,请参阅 配置 Container Registry 的访问角色。
命令选项
--enable
- (可选) 防止映像拉取或推送帐户的公用网络连接。
--disable
- (可选) 恢复映像拉取或推送帐户的公用网络连接。
--status
- (可选) 检查是否阻止在您的帐户中使用公共连接进行映像推送或拉取。
示例
防止映像拉取或推送帐户的公用网络连接。
ibmcloud cr private-only --enable
ibmcloud cr quota
该命令显示当前的流量和存储配额,以及与注册表区域配额相对应的使用信息。
ibmcloud cr quota [--output json | -o json]
先决条件
要了解有关所需权限的更多信息,请参阅 配置 Container Registry 的访问角色。
命令选项
--output json
,-o json
- (可选)以 JSON 格式输出列表。
ibmcloud cr quota-set
为您设置为目标的注册表区域修改指定的配额。
ibmcloud cr quota-set [--traffic TRAFFIC] [--storage STORAGE]
先决条件
要了解有关所需权限的更多信息,请参阅 配置 Container Registry 的访问角色。
命令选项
--traffic TRAFFIC
- (可选)将流量配额更改为指定的值(以兆字节为单位)。 如果您无权设置流量,或者如果设置的值超过当前价格套餐,那么操作会失败。
--storage STORAGE
- (可选)将存储配额更改为指定的值(以兆字节为单位)。 如果您无权设置存储配额,或者如果设置的值超过当前价格套餐,那么操作会失败。
示例
将拉出流量的配额限制设置为 7000 兆字节,并将存储量设置为 600 兆字节。
ibmcloud cr quota-set --traffic 7000 --storage 600
ibmcloud cr region
显示目标区域和注册表。
ibmcloud cr region
有关更多信息,请参阅区域。
先决条件
无
ibmcloud cr region-set
设置 IBM Cloud Container Registry 命令的目标区域。 要列出可用的区域,请运行不带任何选项的命令。
ibmcloud cr region-set [REGION]
先决条件
无
命令选项
REGION
- (可选)目标区域的名称,例如
us-south
。 有关更多信息,请参阅区域。
示例
将美国南部区域设定为目标。
ibmcloud cr region-set us-south
ibmcloud cr retention-policy-list
列出帐户的映像保留时间策略。 映像保留时间策略为 IBM Cloud Container Registry 中名称空间中的每个存储库保留指定数量的映像。 名称空间中的其他所有映像都会被删除。 您还可以查看是否将保留所有未标记的映像的选项应用于策略。
如果存储库中的映像被多个标记引用,那么计数时对该映像只会计一次。 将保留最新的映像。 生命周期是在创建映像时决定的,而不是在将其推送到注册表时确定的。
ibmcloud cr retention-policy-list [--output json | -o json]
先决条件
要了解有关所需权限的更多信息,请参阅 使用 Container Registry 的访问角色。
命令选项
--output json
,-o json
- (可选)以 JSON 格式输出列表。
示例
列出帐户中的保留时间策略。
ibmcloud cr retention-policy-list
有关如何使用 ibmcloud cr retention-policy-list
命令的更多信息,请参阅保留映像。
ibmcloud cr retention-policy-set
设置策略,用于为 IBM Cloud Container Registry 中名称空间中的每个存储库保留指定数量的映像。 名称空间中的其他所有映像都会被删除。 当您设置策略时,它会以交互方式运行,然后每天运行。 每个名称空间中只能设置一个策略。
您可以选择是否从您决定保留的图像总数中排除所有未标记的图像。
如果存储库中的映像被多个标记引用,那么计数时对该映像只会计一次。 将保留最新的映像。 生命周期是在创建映像时决定的,而不是在将其推送到注册表时确定的。
如果保留时间策略删除了要保留的映像,您可以复原该映像。 要识别该映像,请通过运行 ibmcloud cr trash-list
命令来列出废纸篓的内容,然后运行 ibmcloud cr image-restore
命令来复原所选映像。
如果要取消保留时间策略,请参阅 更新保留时间策略以保留所有映像。
ibmcloud cr retention-policy-set [--retain-untagged] [--force | -f] --images IMAGECOUNT NAMESPACE
先决条件
要了解有关所需权限的更多信息,请参阅 使用 Container Registry 的访问角色。
命令选项
NAMESPACE
- 要为其创建策略的名称空间。
--retain-untagged
- (可选)在处理保留策略时保留所有未标记的图像。 仅分析已标记的图像,如果这些图像不符合条件,那么将删除这些图像。 如果未指定该选项,那么将分析所有已标记和未标记的图像,如果这些图像不符合条件,那么将删除这些图像。
--force
,-f
- (可选)强制命令运行,而不显示用户提示。
--images
- 确定在指定的名称空间中每个存储库内保留多少个映像。 将保留最新的映像。 映像的时间由其构建日期确定。
IMAGECOUNT
是要在名称空间的每个存储库中保留的映像数。 要将策略恢复到默认状态,即保持所有图像设置IMAGECOUNT
至All
。
示例
设置策略,用于在 birds
名称空间中,保留每个存储库中最新的 20 个映像。
ibmcloud cr retention-policy-set --images 20 birds
将策略重新设置为缺省状态,以保留 birds
名称空间中的所有映像。
ibmcloud cr retention-policy-set --images All birds
有关如何使用 ibmcloud cr retention-policy-set
命令的更多信息,请参阅保留映像。
ibmcloud cr retention-run
在 IBM Cloud Container Registry 中通过为名称空间中的每个存储库保留指定数量的映像来清除名称空间。 名称空间中的其他所有映像都会被删除。
您可以选择是否从您决定保留的图像总数中排除所有未标记的图像。
如果存储库中的映像被多个标记引用,那么计数时对该映像只会计一次。 将保留最新的映像。 生命周期是在创建映像时决定的,而不是在将其推送到注册表时确定的。
如果要复原已删除的映像,可以通过运行 ibmcloud cr trash-list
命令来列出废纸篓的内容,然后运行 ibmcloud cr image-restore
命令来复原所选映像。
如果您期望看到的映像未显示在生成的列表中,请参阅 为什么保留命令未显示所有映像? 以获取帮助。
从 2023 年 7 月 24 日起,不推荐使用 --json
选项,并将其替换为 --output json
选项。
ibmcloud cr retention-run [--force | -f [--output json | -o json]] [--retain-untagged] --images IMAGECOUNT NAMESPACE
先决条件
要了解有关所需权限的更多信息,请参阅 使用 Container Registry 的访问角色。
命令选项
NAMESPACE
- 要清除的名称空间。
--force
,-f
- (可选)强制命令运行,而不显示用户提示。
--output json
,-o json
- (可选)包含清除名称空间结果的输出 JSON。 该选项必须与
--force
一起使用。 --retain-untagged
- (可选)在处理保留策略时保留所有未标记的图像。 仅分析已标记的图像,如果这些图像不符合条件,那么将删除这些图像。 如果未指定该选项,那么将分析所有已标记和未标记的图像,如果这些图像不符合条件,那么将删除这些图像。
--images
- 确定在指定的名称空间中每个存储库内保留多少个映像。 将保留最新的映像。 映像的时间由其构建日期确定。
IMAGECOUNT
是要在名称空间的每个存储库中保留的映像数。
示例
在 birds
名称空间中,保留每个存储库中最新的 20 个映像。
ibmcloud cr retention-run --images 20 birds
有关如何使用 ibmcloud cr retention-run
命令的更多信息,请参阅保留映像。
ibmcloud cr trash-list
显示废纸篓中您的 IBM Cloud 帐户中的所有映像。 您还可以查看图像从垃圾桶中删除前的剩余天数。 向上舍入除去前的剩余天数。 例如,如果除去前的时间为 2 小时,那么显示为 1 天。 图片从实时资源库中删除后,会在垃圾桶中保留 30 天。
如果要从废纸篓复原映像,请运行 ibmcloud cr image-restore
命令;请参阅复原映像。
从 2023 年 7 月 24 日起,不推荐使用 --json
选项,并将其替换为 --output json
选项。
ibmcloud cr trash-list [--restrict NAMESPACE] [--output json | -o json]
先决条件
要了解有关所需权限的更多信息,请参阅 使用 Container Registry 的访问角色。
命令选项
--restrict NAMESPACE
- (可选)将输出限制为仅显示指定名称空间中的映像。
--output json
,-o json
- (可选)包含废纸篓内容详细信息的输出 JSON。
示例
显示 birds
命名空间中垃圾中的图片。
ibmcloud cr trash-list --restrict birds
ibmcloud cr va-version
了解您正在使用的 Vulnerability Advisor 版本。 版本 4 是唯一有效的版本。
Vulnerability Advisor 版本 3 从 2023 年 11 月 13 日开始停用。 有关如何更新到 V 4 的更多信息,请参阅 Vulnerability Advisor V 3 将于 2023 年 11 月 13 日停用。
ibmcloud cr va-version
先决条件
无。
ibmcloud cr va-version-set
设置 Vulnerability Advisor的版本。
Vulnerability Advisor 版本 3 从 2023 年 11 月 13 日开始停用。 有关如何更新到 V 4 的更多信息,请参阅 Vulnerability Advisor V 3 将于 2023 年 11 月 13 日停用。
如果尝试设置无效版本的 Vulnerability Advisor,会出现 en 错误,请参阅 为什么会出现指定的 Vulnerability Advisor 版本无效的错误?
ibmcloud cr va-version-set VERSION
先决条件
无。
命令选项
VERSION
- 您要使用的 Vulnerability Advisor 版本。 唯一有效的值是
v4
。
示例
要将漏洞版本设置为 V 4,请运行以下命令:
ibmcloud cr va-version-set v4
ibmcloud cr vulnerability-assessment
(ibmcloud cr va
)
查看映像的漏洞评估报告。
Vulnerability Advisor 版本 3 从 2023 年 11 月 13 日开始停用。 有关如何更新到 V 4 的更多信息,请参阅 Vulnerability Advisor V 3 将于 2023 年 11 月 13 日停用。
ibmcloud cr vulnerability-assessment [--extended | -e] [--vulnerabilities | -v] [--configuration-issues | -c] [--output FORMAT | -o FORMAT] IMAGE [IMAGE...]
先决条件
要了解有关所需权限的更多信息,请参阅 使用 Container Registry 的访问角色。
命令选项
IMAGE
-
要获取其报告的映像的名称。 此报告指出该映像是否有任何已知的包漏洞。 可以通过在命令中列出每个映像(各名称之间用一个空格分隔)来同时请求多个映像的报告。
要查找映像的名称,请运行
ibmcloud cr image-list
。 将 存储库 列 (repository
) 和 标记 列 (tag
) 的内容以冒号 (:
) 分隔,以创建格式为repository:tag
的映像名称。 如果未在映像名称中指定标记,那么报告会评估标记为latest
的映像。有关受支持的 Docker 基本映像的更多信息,请参阅 易受攻击的软件包。
有关更多信息,请参阅使用 Vulnerability Advisor 管理映像安全性。
--extended
,-e
-
(可选)命令输出显示有关有漏洞包的修订的其他信息。
--vulnerabilities
,-v
-
(可选)命令输出限制为仅显示漏洞。
--configuration-issues
,-c
-
(可选)命令输出限制为仅显示配置问题。
--output FORMAT
,-o FORMAT
-
(可选)命令输出以所选格式返回。 缺省格式为
text
。支持以下格式:
text
json
示例
查看映像的标准漏洞评估报告。
ibmcloud cr vulnerability-assessment 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