代码库和映像名称

当您使用 API、gclouddocker 命令与代码库进行交互时,Artifact Registry 使用命名约定来识别代码库和映像。

Docker 代码库

Docker 代码库的全名采用以下格式:

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY

其中:

  • LOCATION 是代码库的单区域或多区域位置

  • PROJECT 是您的 Google Cloud 控制台 项目 ID。 如果您的项目 ID 包含英文冒号 (`:`),请参阅网域级项目

  • REPOSITORY 是代码库的名称。

例如,假设一个映像具有以下特征:

  • 代码库位置:us-west1
  • 代码库格式:docker
  • 代码库名称:my-repo
  • 项目 ID:my-project

代码库按如下方式指定:

us-west1-docker.pkg.dev/my-project/my-repo

容器映像名称

容器映像的全名采用以下格式之一:

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

其中:

  • LOCATION 是 单区域或多区域 代码库的位置。
  • PROJECT 是您的 Google Cloud 控制台 项目 ID。 如果您的项目 ID 包含英文冒号 (`:`),请参阅网域级项目
  • REPOSITORY 是存储了映像的代码库的名称。
  • IMAGE 是代码库中的映像名称。
  • TAG 是您要拉取的映像版本的标记。
  • IMAGE-DIGEST 是映像内容的 sha256 哈希值。在 Google Cloud 控制台中,点击特定图片以查看其元数据。此摘要将被列为映像摘要

    如果您未指定标记或摘要,Artifact Registry 将查找带有默认标记 latest 的映像。如需查看版本,请参阅容器映像版本

例如,假设一个映像具有以下特征:

  • 代码库位置:us-west1
  • 代码库名称:my-repo
  • 项目 ID:my-project
  • 映像名称:test
  • 标记:staging

此版本的映像带有 staging 标记,其按如下方式指定:

us-west1-docker.pkg.dev/my-project/my-repo/test:staging

容器映像版本

一个仓库可以包含多个容器映像,这些映像可以 不同版本。如需识别映像的特定版本,您需要 可以指定映像摘要或标记。

汇总邮件
映像摘要是映像索引或映像清单的自动生成哈希值。每个映像摘要都是映像版本的唯一标识符,无法更改。摘要是映像内容的 sha256 哈希值。
标记

图片标记是一种标签,通常是直观易懂的字符串,例如 v1.1development。一个标记只能指向映像的一个版本。在 Artifact Registry 中,您可以配置 Docker 仓库以允许使用可变映像标记或强制使用不可变映像标记。

  • 可变:标记仅指向一个映像版本,但其引用的特定摘要可能会发生变化。

    一种常见的方法是使用版本标识符标记映像,例如 v1.1 。当 build 使用相同的 v1.1 标记将多个版本的映像推送到注册表时,该标记会引用推送到注册表的最后一个版本的摘要。尽管可变的映像标记提供了一种 给版本加标签的便捷方式, 操作者将标记与恶意版本的映像相关联。

  • 不可变:在代码库中,标记始终指向同一映像 摘要。如果 Artifact Registry 仓库配置为不可更改的图片标记,则不允许执行以下操作:

    • 删除带链接的图片。您仍然可以删除未添加链接的图片。
    • 从图片中移除链接。
    • 推送的映像使用了仓库中另一个映像版本已使用的标记。

例如,假设一个映像具有以下特征:

  • 代码库位置:us-west1
  • 代码库名称:my-repo
  • 项目 ID:my-project
  • 映像名称:test
  • 标记:staging
  • 摘要:sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

如需使用标记识别映像,请将 :staging 附加到映像名称后面:

us-west1-docker.pkg.dev/my-project/my-repo/test:staging

如需使用摘要识别映像,请将 @ 附加到映像名称后面,后跟摘要:

us-west1-docker.pkg.dev/my-project/my-repo/test@sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

如果您的项目 ID 包含英文冒号 (`:`),请参阅网域级项目

在控制台的映像屏幕上,标记列会列出映像的标记。点击图片版本可查看元数据,包括 映像摘要

如需详细了解标记,请参阅标记映像

网域级项目

如果您的项目被限定在您的网域范围内,那么项目 ID 应包含相应域名和一个英文冒号 (:)。鉴于 Docker 对英文冒号的处理方式,当您在 Artifact Registry 中指定映像摘要时,必须用正斜杠替换英文冒号字符。请使用以下格式来标识这类项目中的映像:

LOCATION-docker.pkg.dev/DOMAIN/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

例如,ID 为 example.com:my-project 的项目可能会有下列映像:

us-west1-docker.pkg.dev/example.com/my-project/my-repo/image-name

网址格式的代码库名称

如需在 Google Cloud 控制台中访问代码库或代码库中的工件,请在其全名前面附加 https://

例如,如需查看代码库 us-west1-maven.pkg.dev/my-project/my-repo,请使用 以下网址:

https://us-west1-maven.pkg.dev/my-project/my-repo

如需查看映像 us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image,请执行以下操作: 请使用以下网址:

https://us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image

任何有权访问代码库且经过身份验证的用户都可以使用这些链接。