推送映像

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

准备工作

如需将映像推送到 Harbor,您必须有权访问以下内容:

  • 必要的身份和访问权限角色。请让您的组织 IAM 管理员向您授予 Harbor Instance Viewer (harbor-instance-viewer) 角色。
  • 在 Harbor 的基于角色的访问控制中具有 Developer 角色的账号。如需了解详情,请参阅为 API 和 Harbor 实例配置访问权限
  • 现有的 Harbor 项目。如需了解详情,请参阅创建 Harbor 项目

标记本地映像

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

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

    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE
    

    替换以下内容:

    • INSTANCE_URL:Harbor 实例的网址。例如 harbor-1.org-1.zone1.google.gdc.test。使用 GDC 控制台或 gdcloud CLI 获取 Harbor 实例的网址。
    • HARBOR_PROJECT_NAME:Harbor 项目的名称。例如 my-project.
    • IMAGE_NAME:映像的名称。例如 nginx.

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

    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 实例界面查看该映像。