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
-
运行以下命令安装
container-registry
CLI 插件:ibmcloud plugin install container-registry
有关安装插件的更多信息,请参阅 使用插件扩展 IBM Cloud CLI。
设置名称空间
创建 命名空间 命名空间在您指定的 资源组中 创建,这样您就可以在资源组级别配置对命名空间内资源的访问。 如果未指定资源组,也不以资源组为目标,则使用默认资源组。 分配给资源组的名称空间显示在 IBM Cloud 控制台的 资源列表 页面中。
-
登录到 IBM Cloud。
ibmcloud login
如果拥有的是联合标识,请使用
ibmcloud login --sso
登录。 输入用户名,并在 CLI 输出中使用提供的 URL 获取一次性密码。 如果您有联合标识,那么不使用--sso
会登录失败,使用--sso
选项会登录成功。在推送图像之前,您无需登录 Container Registry,请参阅 第 5 步:将图像推送到您的命名空间。
-
添加命名空间,创建自己的图像 存储库。 将
MY_NAMESPACE
替换为您首选的命名空间。名称空间在同一区域的所有 IBM Cloud 帐户中必须唯一。 名称空间必须具有 4 到 30 个字符,并且只能包含小写字母、数字、连字符 (-) 和下划线 (_)。 名称空间必须以字母或数字开头和结尾。
ibmcloud cr namespace-add MY_NAMESPACE
您可以使用以下选项之一,将命名空间置于您选择的资源组中。
- 在创建命名空间之前,运行
ibmcloud target -g RESOURCE_GROUP
命令,其中RESOURCE_GROUP
是资源组。 - 使用
-g
选项指定资源组。ibmcloud cr namespace-add
选项来指定资源组。
如果在创建命名空间时遇到问题,请参阅 " 为什么我不能添加命名空间?
- 在创建命名空间之前,运行
-
为确保命名空间已创建,请运行
ibmcloud cr namespace-list
命令。ibmcloud cr namespace-list -v
从注册表中提取图像到本地计算机
-
安装 Docker 或您选择的工具,如 Podman。
-
WindowsmacOS 对于 Windows® 8 或 X Yosemite 或更早版本,请安装 macOS 10.10.xDocker Desktop。
有关 IBM Cloud Container Registry 支持的 Docker 版本的更多信息,请参阅 Docker 支持。
-
安装 Podman.
-
-
将图片下载 (拉取)到本地电脑。 将
SOURCE_IMAGE
替换为图片的存储库,将TAG
替换为要使用的图片的 标签,例如latest
。 例如,根据您使用的工具,运行以下命令之一。-
如果使用 Docker,请运行以下命令。
docker pull SOURCE_IMAGE:TAG
例如,其中
SOURCE_IMAGE
是hello-world
,TAG
是latest
:docker pull hello-world:latest
如果您在尝试拉取 Docker 映像时遇到问题,请参阅 为什么无法推送或拉取Docker映像? 以获得帮助。 如果使用
latest
标签无法提取最新图像,请参阅“为什么使用latest
标签无法提取最新图像?”以获取帮助。 -
如果使用 Podman,请运行以下命令。
podman pull SOURCE_IMAGE:TAG
例如,其中
SOURCE_IMAGE
是hello-world
,TAG
是latest
: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_IMAGE
是hello-world
,TAG
是latest
,REGION
是uk
,MY_NAMESPACE
是namespace1
,NEW_IMAGE_REPO
是hw_repo
,NEW_TAG
是1
: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_IMAGE
是hello-world
,TAG
是latest
,REGION
是uk
,MY_NAMESPACE
是namespace1
,NEW_IMAGE_REPO
是hw_repo
,NEW_TAG
是1
:podman tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
将图像推送到命名空间
-
使用以下选项之一登录 IBM Cloud Container Registry。
-
要使用 Docker 登录,请运行
ibmcloud cr login
命令将本地 Docker 守护进程登录到 IBM Cloud Container Registry。ibmcloud cr login --client docker
-
要使用 Podman 登录,请运行
ibmcloud cr login
命令登录 IBM Cloud Container Registry。ibmcloud cr login --client podman
-
要使用其他客户端登录,请参阅 交互式访问命名空间。
如果您在尝试登录时遇到问题,请参阅“为什么我无法登录 Container Registry?”获取帮助。
-
-
上传 (推送 )图像到您的命名空间。 将
MY_NAMESPACE
替换为在 设置命名空间 中创建的命名空间。 将IMAGE_REPO
和TAG
替换为您在标记图片时选择的存储库和图片标签。 例如,根据您使用的工具,运行以下命令之一。-
如果使用 Docker,请运行以下命令。
docker push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
例如,其中
REGION
是uk
,MY_NAMESPACE
是namespace1
,IMAGE_REPO
是hw_repo
,TAG
是1
:docker push uk.icr.io/namespace1/hw_repo:1
如果您在尝试推送 Docker 图像时遇到问题,请参阅“为什么我无法推送或拉动 Docker 图像?”获取帮助。
-
如果使用 Podman,请运行以下命令。
podman push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
例如,其中
REGION
是uk
,MY_NAMESPACE
是namespace1
,IMAGE_REPO
是hw_repo
,TAG
是1
: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 的一个或多个实例中创建这些活动事件。
要设置审计跟踪,请完成以下步骤:
- 设置 IBM Cloud Logs,请参阅 IBM Cloud Logs 入门。
- 设置 IBM Cloud Activity Tracker Event Routing,请参阅 IBM Cloud Activity Tracker Event Routing 入门。
- 配置 IBM Cloud Logs 目标,请参阅 将 IBM Cloud Logs 实例配置为目标。
有关日志记录的更多信息,请参阅 关于 IBM Cloud Logs 和 日志记录的 Container Registry。
有关活动事件的更多信息,请参阅 关于 IBM Cloud Activity Tracker Event Routing 和 Container Registry 的活动跟踪事件。
监测以下指标 Container Registry
您可以在要监控的区域创建 Monitoring 实例,并为其启用平台指标。 或者,也可以在该区域现有的 Monitoring 实例上启用平台指标。
有关设置度量指标的更多信息,请参阅 启用 Container Registry 的度量指标 和 开始使用 Monitoring。