一般疑難排解

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

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

請參考下列資訊,協助您診斷無效的存放區位置或無效的存放區名稱錯誤。

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-managed 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 後,儲存庫就無法正常運作。

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

進一步瞭解如何在 Google Cloud中刪除資料。