Gestire i metadati dei contenitori

Questa pagina descrive come eseguire il containerizzazione, il caricamento in Artifact Registry e la gestione dei metadati di un'immagine container archiviata in Artifact Registry come allegato.

Gli allegati sono artefatti OCI e possono essere archiviati solo in repository in formato Docker.

Prima di iniziare

  1. Se non ne hai già uno, crea un repository standard in formato Docker.
  2. (Facoltativo) Configura le impostazioni predefinite per Google Cloud CLI Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire gli allegati, chiedi all'amministratore di concederti seguenti ruoli IAM sul repository:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

(Facoltativo) Configura gli orari

Oltre a utilizzare gcloud CLI, facoltativamente puoi utilizzare Oras per creare, elencare e scaricare gli allegati.

  1. Installa Oras 1.2 o versioni successive. Per verificare la tua versione, esegui il comando oras version.

  2. Configura Oras per authenticate con Artifact Registry.

Creare allegati

Puoi creare un allegato utilizzando gcloud CLI o Oras.

gcloud

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • ATTACHMENT: il nome completo dell'allegato. Ad esempio, projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. In alternativa, fornisci solo l'ID allegato e utilizza i --location e --repository flag.
  • TARGET: il nome completo della versione oppure l'URI Artifact Registry dell'artefatto a cui farà riferimento l'allegato. Puoi utilizzare uno dei seguenti metodi: il digest o il tag. Ad esempio: us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1.
  • TYPE: type dell'allegato . Deve rispettare le Specifiche OCI per la proprietà artifactType.
  • ATTACHMENT_NAMESPACE: un specifica degli allegati che identifica l'origine dati degli allegati. Ad esempio, example.com.
  • FILES: un elenco separato da virgole di file locali da includere nell'allegato.
    • Esegui il seguente comando:

      Linux, macOS o Cloud Shell

      gcloud artifacts attachments create ATTACHMENT \
          --target=TARGET \
          --type=TYPE \
          --attachment-namespace=ATTACHMENT_NAMESPACE \
          --files=FILES

      Windows (PowerShell)

      gcloud artifacts attachments create ATTACHMENT `
          --target=TARGET `
          --type=TYPE `
          --attachment-namespace=ATTACHMENT_NAMESPACE `
          --files=FILES

      Windows (cmd.exe)

      gcloud artifacts attachments create ATTACHMENT ^
          --target=TARGET ^
          --type=TYPE ^
          --attachment-namespace=ATTACHMENT_NAMESPACE ^
          --files=FILES
      Per ulteriori informazioni, consulta il comando gcloud artifacts attachments create.

Oras

Quando crei un collegamento con Oras, Artifact Registry genera un'istanza UUID casuale da utilizzare come nome dell'allegato.

Prima di eseguire il comando, effettua queste sostituzioni:

  • ARTIFACT_TYPE: il artifactType dell'allegato.

  • IMAGE_URI: l'URI per il container di immagini a cui fa riferimento l'allegato.

  • FILE: un file locale da includere come metadati nell'allegato.

  • MEDIA_TYPE: il mediaType del livello.

  oras attach --artifact-type ARTIFACT_TYPE IMAGE_URI FILE:MEDIA_TYPE

L'esempio seguente crea un allegato composto da un file, hello-world.txt, che fa riferimento a un'immagine container, my-image, identificata da il relativo URI e tag:

  oras attach --artifact-type doc/example \
  us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 \
  hello-world.txt:application/vnd.me.hi

Dove:

  • doc/example definisce la proprietà artifactType dell'allegato.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 è l'URI che include il tag della versione dell'immagine container dell'allegato a cui farà riferimento.

  • hello-world.txt è il file locale che l'allegato conterrà come dati.

  • application/vnd.me.hi definisce il mediaType del livello.

Per una guida completa e altri esempi, consulta la documentazione di oras attach.

Allegati elenco

Un'immagine container può avere un numero illimitato di allegati che fanno riferimento a essa. Puoi elencare gli allegati utilizzando la console Google Cloud, o Oras.

Console

  1. Nella console Google Cloud, apri la pagina Repository.

    Apri la pagina Repository

  2. Fai clic sul nome del repository per visualizzare le immagini al suo interno.

  3. Per visualizzare le versioni di un'immagine, fai clic sul nome dell'immagine.

  4. Fai clic sulla versione dell'immagine appropriata.

  5. Per visualizzare gli allegati della versione, fai clic sulla scheda Allegati.

gcloud

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

  • TARGET: il nome completo della versione oppure l'URI di Artifact Registry dell'artefatto per cui vuoi elencare gli allegati. Puoi utilizzare uno dei seguenti metodi: il digest o il tag. Ad esempio, us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1.

Esegui la persone che seguo :

Linux, macOS o Cloud Shell

gcloud artifacts attachments list \
    --target=TARGET

Windows (PowerShell)

gcloud artifacts attachments list `
    --target=TARGET

Windows (cmd.exe)

gcloud artifacts attachments list ^
    --target=TARGET
Per ulteriori informazioni, consulta il comando gcloud artifacts attachments list.

Oras

Prima di eseguire il comando, effettua la seguente sostituzione:

  • IMAGE_URI: l'URI di l'immagine di destinazione a cui fa riferimento gli allegati elencati.
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI

L'esempio seguente elenca gli allegati per un'immagine container, my-image, identificati dal relativo URI e tag:

oras discover --distribution-spec v1.1-referrers-api \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1

Dove:

  • v1.1-referrers-api è l'API Referrer utilizzata. Per ulteriori informazioni, consulta i dettagli nella specifica di distribuzione.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 è l'URI che include il tag della versione dell'immagine container da elencare allegati.

Per una guida completa e altri esempi, consulta la documentazione di oras discover.

Scarica allegati

Puoi scaricare gli allegati utilizzando gcloud CLI o Oras.

gcloud

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • ATTACHMENT: il nome completo dell'allegato. Ad esempio: projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. In alternativa, fornisci qui solo l'ID allegato e utilizza i flag --location e --repository.
  • DESTINATION: il percorso nella tua regione file system in cui scaricare l'allegato.

Esegui la persone che seguo :

Linux, macOS o Cloud Shell

gcloud artifacts attachments download ATTACHMENT \
    --destination=DESTINATION

Windows (PowerShell)

gcloud artifacts attachments download ATTACHMENT `
    --destination=DESTINATION

Windows (cmd.exe)

gcloud artifacts attachments download ATTACHMENT ^
    --destination=DESTINATION
In alternativa a ATTACHMENT, puoi fornire il campo --oci-version-name seguito dal nome completo della versione dell'allegato oppure URI Artifact Registry. Puoi utilizzare il digest o il tag. Ad esempio: projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123.

Per ulteriori informazioni, consulta Comando gcloud artifacts attachments download.

Oras

Prima di eseguire il comando, effettua le seguenti sostituzioni:

  • DESTINATION: la directory di destinazione dell'allegato.

  • ATTACHMENT_URI: il URI dell'allegato da scaricare. Si tratta dell'URI del contenitore dell'immagine a cui fa riferimento l'allegato, seguito dall'SHA univoco dell'allegato.

oras pull -o DESTINATION ATTACHMENT_URI

Nell'esempio seguente viene scaricato un allegato identificato dal relativo URI e dal digest:

oras pull -o . us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx

Dove:

  • -o . assegna alla directory corrente il nome della destinazione di download.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx è l'URI dell'immagine che include il digest dell'allegato da scaricare.

Per una guida completa e altri esempi, consulta la documentazione di oras pull.

Elimina allegati

Puoi eliminare gli allegati direttamente utilizzando la console Google Cloud oppure con gcloud CLI. Puoi eliminare gli allegati indirettamente eliminando l'immagine del contenitore a cui fanno riferimento.

Eliminare gli allegati direttamente

Puoi eliminare gli allegati direttamente con una delle seguenti opzioni:

Console

  1. Nella console Google Cloud, apri la pagina Repository.

    Apri la pagina Repository

  2. Fai clic sul nome del repository per visualizzare le immagini al suo interno.

  3. Fai clic sul nome dell'immagine per visualizzarne le versioni.

  4. Fai clic sulla versione dell'immagine di cui desideri visualizzare gli allegati.

  5. Fai clic sulla scheda Allegati per visualizzare gli allegati di quella versione.

  6. Fai clic sul digest dell'allegato da eliminare.

  7. Fai clic su ELIMINA.

  8. Nella finestra di dialogo di conferma, fai clic su ELIMINA.

gcloud

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • ATTACHMENT: il nome completo dell'allegato. Ad esempio, projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. In alternativa, fornisci qui solo l'ID allegato e utilizza i flag --location e --repository.

Esegui la persone che seguo :

Linux, macOS o Cloud Shell

gcloud artifacts attachments delete ATTACHMENT

Windows (PowerShell)

gcloud artifacts attachments delete ATTACHMENT

Windows (cmd.exe)

gcloud artifacts attachments delete ATTACHMENT
Per ulteriori informazioni, consulta Comando gcloud artifacts attachments list.

Eliminare gli allegati indirettamente

Se un'immagine container viene eliminata, vengono visualizzati anche tutti gli allegati di riferimento eliminati. Questo vale sia per l'eliminazione manuale delle immagini contenitore sia per le eliminazioni causate dai criteri di pulizia.