常规问题排查

了解在使用 Artifact Registry 时适用于所有制品格式的问题排查步骤。如需了解特定制品格式的问题,请参阅特定于相应格式的页面。

针对 Red Hat Enterprise Linux 次要版本的漏洞扫描

Artifact Analysis 会根据发布的每个主要版本的最新次要版本,提供 Red Hat Enterprise Linux (RHEL) 的漏洞扫描结果。如果您扫描的是较旧的次要版本,则可能会获得不准确的结果。

命令中的代码库或位置无效

使用以下信息可帮助您诊断代码库位置无效或代码库名称无效错误。

gcloud 的位置和代码库默认值

如果您在 Google Cloud CLI 中设置了默认的代码库和位置,以便在 gcloud artifacts 命令中省略 --location--repository 标志,请尝试使用这些标志和相应的值运行失败的命令。如需详细了解特定命令的语法,请运行带有 --help 标志的命令。

默认代码库设置不适用于您在不使用 --repository 标志的情况下指定代码库名称的 gcloud artifacts 命令。例如,您必须在 gcloud artifacts repositories describe 命令中指定代码库名称,如以下示例所示:

gcloud artifacts repositories describe my-repo --location=us-west1

如果命令仍然失败,您可能需要验证是否为代码库或位置指定了有效值。

代码库位置

如需列出所有受支持的 Artifact Registry 位置,请运行以下命令:

gcloud artifacts locations list

您的组织政策可能包含位置限制。Artifact Registry 会在创建代码库时强制执行这些限制。 对于在实施位置限制之前创建的代码库,Artifact Registry 不会追溯执行政策。

gcloud 命令中的代码库名称

您可以列出代码库,以查看指定项目或位置中的代码库名称。

如需列出项目中的所有代码库,请运行以下命令:

gcloud artifacts repositories list --project=PROJECT-ID \
    --location=all

如需列出某个位置中的所有代码库,请运行以下命令:

gcloud artifacts repositories list --project=PROJECT-ID \
    --location=LOCATION

PROJECT-ID 替换为您的 Google Cloud 项目 ID,并将 LOCATION 替换为代码库位置。

该命令会返回每个代码库的相关信息,类似于以下示例:

REPOSITORY: my-repo
FORMAT: DOCKER
DESCRIPTION:
LOCATION: us-west1
LABELS:
ENCRYPTION: Google-owned and Google-managed encryption key
CREATE_TIME: 2021-09-23T19:39:10
UPDATE_TIME: 2021-09-23T19:39:10

REPOSITORY 的值是您在包含代码库名称作为参数的 gcloud artifacts 命令中使用的值。

例如,以下命令使用 --repository 标志:

gcloud artifacts packages list --location=us-west1 --repository=my-repo

此命令仅使用代码库名称,不使用标志:

gcloud artifacts repositories describe my-repo --location=us-west1

使用第三方客户端的代码库名称

对于第三方客户端,您通常在配置客户端时使用完整的代码库路径,例如 us-west1-docker.pkg.dev/my-project/my-repo。然后,您需要遵循客户端的惯例来上传和下载软件包。如需了解客户端配置和使用详情,请参阅您所用格式的文档。

如果您要从 Container Registry 过渡,请注意,所有映像路径都必须包含 Artifact Registry 代码库名称。您无法指定仅包含项目 ID 的图片路径。

  • 无效路径us-east1-docker.pkg.dev/my-project/my-image
  • 有效路径us-east1-docker.pkg.dev/my-project/my-repo/my-image

无法从未删除的代码库中推送或拉取内容

在取消删除 Google Cloud项目或在停用 Artifact Registry API 后启用该 API 后,代码库不再正常运行。

如果您停用 Artifact Registry API 或删除项目,则 Artifact Registry 服务将不可用。Artifact Registry 会在 7 天后删除代码库数据。

详细了解如何在 Google Cloud上删除数据

在服务边界中拉取适用于 Cloud Run 的 Prometheus 边车时出错

将 Artifact Registry 与 VPC Service Controls 搭配使用,并尝试在服务边界内拉取 Cloud Run 的 Prometheus sidecar 映像。您会收到 403 permission denied 错误。

如需解决此问题,请在您配置的出站流量规则中允许出站流量流向 cloud-ops-agents-artifacts 项目,以便在服务边界中使用 mirror.gcr.io。为此,请在出站流量规则中添加 projects/1042947621568 作为资源。