Archiviare immagini container Docker in Artifact Registry

Artifact Registry fornisce un'unica posizione per la gestione di pacchetti privati e immagini container Docker.

Questa guida rapida illustra come:

  • Crea un repository Docker privato in Artifact Registry
  • Configura l'autenticazione
  • Esegui il push di un'immagine nel repository
  • Esegui il pull dell'immagine dal repository

Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Aiuto:

Guidami


Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Attiva l'API Artifact Registry.

    Abilita l'API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Attiva l'API Artifact Registry.

    Abilita l'API

Scegli una shell

Per completare questa guida rapida, utilizza Cloud Shell o la tua shell locale.

Cloud Shell
Cloud Shell è un ambiente shell per la gestione delle risorse ospitate su Google Cloud. È preinstallato Docker e Google Cloud CLI, l'interfaccia a riga di comando principale per Google Cloud.
Shell locale
Se preferisci utilizzare la tua shell locale, devi installare Docker e gcloud CLI nel tuo ambiente.

Avviare Cloud Shell

Per avviare Cloud Shell, segui questi passaggi:

  1. Vai alla console Google Cloud.

    Console Google Cloud

  2. Fai clic sul pulsante Attiva Cloud Shell:  .

Si apre una sessione di Cloud Shell all'interno di un frame più in basso nella console. Puoi utilizzare questa shell per eseguire i comandi gcloud.

Configurazione di una shell locale

Per installare gcloud CLI e Docker, esegui questi passaggi:

  1. Installa gcloud CLI. Per aggiornare un'installazione esistente, esegui il comando gcloud components update.

  2. Se non è già installato, installa Docker

  3. Docker richiede un accesso privilegiato per interagire con i registry. Su Linux o Windows, aggiungi l'utente che utilizzi per eseguire i comandi Docker al gruppo di sicurezza Docker. Questo passaggio non è obbligatorio su MacOS poiché Docker Desktop viene eseguito su una macchina virtuale come utente root.

    Linux

    Il gruppo di sicurezza Docker è denominato docker. Per aggiungere il nome utente, esegui questo comando:

    sudo usermod -a -G docker ${USER}
    

    Windows

    Il gruppo di sicurezza Docker è denominato docker-users. Per aggiungere un utente dal prompt dei comandi dell'amministratore, esegui questo comando:

    net localgroup docker-users DOMAIN\USERNAME /add
    

    Dove

    • DOMAIN è il tuo dominio Windows.
    • USERNAME è il tuo nome utente.
  4. Esci e accedi di nuovo per applicare le modifiche all'appartenenza al gruppo. Se utilizzi una macchina virtuale, potrebbe essere necessario riavviare la macchina virtuale per applicare le modifiche all'abbonamento.

  5. Per assicurarti che Docker sia in esecuzione, esegui questo comando Docker, che restituisce l'ora e la data correnti:

  6. docker run --rm busybox date
    

    Il flag --rm elimina l'istanza del container all'uscita.

Crea un repository Docker

Crea un repository Docker per archiviare l'immagine di esempio per questa guida rapida.

Console

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Fai clic su add Crea repository.

  3. Specifica quickstart-docker-repo come nome del repository.

  4. Scegli Docker come formato e Standard come modalità.

  5. In Tipo di località, seleziona Regione e poi scegli la località us-central1.

  6. Fai clic su Crea.

Il repository viene aggiunto all'elenco.

gcloud

  1. Esegui questo comando per creare un nuovo repository Docker denominato quickstart-docker-repo nella località us-central1 con la descrizione "docker repository".

    gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
        --location=us-central1 --description="Docker repository" \
        --project=PROJECT
    

    Dove PROJECT è il tuo ID progetto Google Cloud.

  2. Esegui questo comando per verificare che il repository sia stato creato.

    gcloud artifacts repositories list \
        --project=PROJECT
    

Per ulteriori informazioni sui comandi di Artifact Registry, esegui il comando gcloud artifacts.

Configura l'autenticazione

Prima di eseguire il push o il pull delle immagini, configura Docker in modo che utilizzi Google Cloud CLI per autenticare le richieste ad Artifact Registry.

Per configurare l'autenticazione nei repository Docker nella regione us-central1, esegui questo comando:

gcloud auth configure-docker us-central1-docker.pkg.dev

Il comando aggiorna la configurazione Docker. Ora puoi connetterti ad Artifact Registry nel tuo progetto Google Cloud per eseguire il push e il pull delle immagini.

Per informazioni su altri metodi di autenticazione, consulta la sezione Metodi di autenticazione.

Ottieni un'immagine di cui eseguire il push

Per questa guida rapida, eseguirai il push di un'immagine di esempio denominata hello-app.

Esegui questo comando per eseguire il pull della versione 1.0 dell'immagine.

   docker pull us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0

I percorsi delle immagini in Artifact Registry includono più parti. Per questa immagine di esempio:

  • us è la località del repository.
  • docker.pkg.dev è il nome host per le immagini container archiviate nei repository Docker di Artifact Registry.
  • google-samples è l'ID repository.
  • containers/gke/ è il percorso dell'immagine al di sotto di google-samples.

Aggiungi l'immagine al repository

Prima di eseguire il push dell'immagine Docker in Artifact Registry, devi taggarla con il nome del repository.

Applica all'immagine un nome di registro

Se applichi un tag all'immagine Docker con un nome repository, viene configurato il comando docker push per eseguire il push dell'immagine in una località specifica. Per questa guida rapida, la località host è us-central1-docker.pkg.dev.

Esegui questo comando per taggare l'immagine come quickstart-image:tag1:

docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \
us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Dove

  • us-central1 è la località del repository.
  • docker.pkg.dev è il nome host del repository Docker creato.
  • PROJECT è il tuo ID progetto Google Cloud. Se l'ID progetto contiene i due punti (:), consulta Progetti con ambito di dominio.
  • quickstart-docker-repo è l'ID del repository che hai creato.
  • quickstart-image è il nome dell'immagine che vuoi utilizzare nel repository. Il nome dell'immagine può essere diverso dal nome locale dell'immagine. Per questa guida rapida, archivierai l'immagine direttamente sotto l'ID repository quickstart-docker-repo.
  • tag1 è un tag che stai aggiungendo all'immagine Docker. Se non hai specificato un tag, Docker applicherà il tag predefinito latest.

Ora è tutto pronto per eseguire il push dell'immagine nel repository che hai creato.

Esegui il push dell'immagine ad Artifact Registry

Dopo aver configurato l'autenticazione e aggiunto un tag all'immagine locale, puoi eseguire il push nel repository che hai creato.

Per effettuare il push dell'immagine Docker, esegui questo comando:

docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Sostituisci PROJECT con il tuo ID progetto Google Cloud. Se l'ID progetto contiene i due punti (:), consulta Progetti con ambito di dominio.

Estrai l'immagine da Artifact Registry

Per eseguire il pull dell'immagine da Artifact Registry sulla tua macchina locale, esegui questo comando:

docker pull us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Sostituisci PROJECT con il tuo ID progetto Google Cloud. Se l'ID progetto contiene i due punti (:), consulta Progetti con ambito di dominio.

Dovresti vedere un output simile al seguente:

latest: Pulling from [PROJECT-ID]/quickstart-image:tag1
Digest: sha256:70c42...
Status: Image is up to date for us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi:

Prima di rimuovere il repository, assicurati che tutte le immagini che vuoi conservare siano disponibili in un'altra posizione.

Per eliminare il repository:

Console

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, seleziona il repository quickstart-docker-repo.

  3. Fai clic su Elimina.

gcloud

Per eliminare il repository quickstart-docker-repo, esegui questo comando:

gcloud artifacts repositories delete quickstart-docker-repo --location=us-central1

Passaggi successivi