一般疑難排解

瞭解使用 Artifact Registry 時,適用於所有構件格式的疑難排解步驟。如要瞭解特定構件格式的問題,請參閱該格式專屬的頁面。

掃描 Red Hat Enterprise Linux 次要版本中的安全漏洞

Artifact Analysis 會根據發布的各個主要版本最新次要版本,提供 Red Hat Enterprise Linux (RHEL) 的安全漏洞掃描結果。如果掃描舊版子版本,可能會得到不準確的結果。

指令中的存放區或位置無效

請使用下列資訊,診斷無效的存放區位置或無效的存放區名稱錯誤。

gcloud 的位置和存放區預設值

如果您在 Google Cloud CLI 中設定預設存放區和位置,以便從 gcloud artifacts 指令中省略 --location--repository 旗標,請嘗試使用旗標和對應值執行失敗的指令。如要瞭解特定指令的語法,請執行指令並搭配使用 --help 標記。

如果您在 gcloud artifacts 指令中指定存放區名稱,但沒有使用 --repository 標記,系統就不會套用預設存放區設定。舉例來說,您必須在 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

無法從未刪除的存放區推送或提取內容

取消刪除專案或停用 Artifact Registry API 後再啟用,存放區將無法正常運作。 Google Cloud

如果停用 Artifact Registry API 或刪除專案,Artifact Registry 服務就會無法使用。Artifact Registry 會在 7 天後刪除存放區資料。

進一步瞭解 Google Cloud的資料刪除

在服務範圍內,無法提取 Cloud Run 適用的 Prometheus 邊車容器

搭配 VPC Service Controls 使用 Artifact Registry,並嘗試在 service perimeter 內,提取 Cloud Run 適用的 Prometheus 補充資訊映像檔。您收到 403 permission denied 錯誤。

如要解決這個問題,請在您設定的輸出規則中,允許輸出至 cloud-ops-agents-artifacts 專案,以便在服務 perimeter 中使用 mirror.gcr.io。如要這麼做,請在輸出規則中新增 projects/1042947621568 做為資源。