推送映像

将映像推送到 Harbor,以通过基于角色的访问权限控制、自动漏洞扫描和简化的容器化应用映像管理来增强安全性。如需将本地映像推送到 Harbor 实例,请使用代码库名称标记该映像,然后再推送映像。

准备工作

如需推送映像,您必须使用必要的资源和权限(包括现有的 Harbor 项目)配置环境。如需了解详情,请参阅 创建 Harbor 项目

所需 IAM 角色

如需将映像推送到 Harbor 注册表实例,请与您的项目 IAM 管理员联系以请求以下角色:

  • Harbor 实例查看者 (harbor-instance-viewer):获取、列出和观看项目命名空间中的 Harbor 实例。此角色包含查看现有 Harbor 实例的详细信息所需的权限,以便您可以检索推送映像所需的注册表网址。

所需的 Harbor RBAC 角色

与 GDC IAM 角色不同,推送映像需要 Harbor 内部基于角色的访问权限控制 (RBAC) 系统中的特定权限。请向管理员请求必要的权限。仅请求特定任务所需的角色,以强制执行最小权限访问。

标记本地映像

请按照以下步骤使用代码库名称标记本地映像:

  1. 您必须通过 Harbor 实例的身份验证。如需了解详情, 请参阅 为 Harbor 注册表实例配置 Docker 身份验证
  2. 设置映像的名称。完整映像名称的格式为:

    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE
    

    替换以下内容:

    完整映像名称的示例可能如下所示:

    harbor-1.org-1.zone1.google.gdc.test/my-project/nginx
    
  3. 使用代码库名称标记本地映像:

    docker tag SOURCE-IMAGE
    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
    
    

替换以下内容:

  • SOURCE-IMAGE:本地映像名称或映像 ID。例如,nginx
  • TAG:标记名称。例如,staging。如果您未指定标记,Docker 默认应用最新标记。

将带有标记的映像推送到 Harbor 注册表实例

标记映像后,将其推送到 Harbor 注册表实例:

  1. 确保您已通过 Harbor 实例的身份验证。
  2. 使用以下命令推送带有标记的映像:
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG

当您推送映像时,它会存储在指定的实例和 Harbor 项目中。

推送映像后,前往 Harbor 实例界面 以查看映像。

后续步骤

将映像推送到 Harbor 注册表后,您可以将其拉取到本地环境以进行验证。您还可以配置标记保留规则以自动维护代码库,并查看安全扫描结果以检测漏洞: