当您使用 API、gcloud
和 docker
命令与代码库进行交互时,Artifact Registry 使用命名约定来识别代码库和映像。
Docker 代码库
Docker 代码库的全名采用以下格式:
LOCATION-docker.pkg.dev/PROJECT-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.1
或development
。一个标记只能指向映像的一个版本。在 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
任何有权访问代码库且经过身份验证的用户都可以使用这些链接。