Guida rapida per Container Registry

Questa guida rapida descrive come configurare Docker per Container Registry e come eseguire il push e il pull di un'immagine.

Google Cloud offre due servizi per l'archiviazione e la gestione delle immagini container:

Artifact Registry (consigliato)

Un servizio per l'archiviazione e la gestione degli artefatti in repository privati, tra cui immagini container, grafici Helm e pacchetti di linguaggio. È il registro di immagini container consigliato per Google Cloud.

Prova la guida rapida di Docker per acquisire familiarità con Artifact Registry.

Container Registry

Un registro di immagini container privato che supporti i formati di immagine Docker Image Manifest V2 e OCI. Fornisce un sottoinsieme di funzionalità di Artifact Registry.

Se al momento non utilizzi Container Registry, usa Artifact Registry. Per un confronto tra Container Registry e Artifact Registry e per informazioni sulla transizione da Container Registry ad Artifact Registry, consulta Transizione da Container Registry.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Container Registry API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Container Registry API.

    Enable the 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. Sulla barra dei menu, 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 e Docker, segui questi passaggi:

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

  2. Installa Docker, se non è già installato.

  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'iscrizione al gruppo. Se utilizzi una macchina virtuale, potresti dover riavviare la macchina virtuale affinché le modifiche all'appartenenza abbiano effetto.

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

  6. docker run busybox date
    

Configura l'autenticazione

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

Esegui questo comando:

gcloud auth configure-docker

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

Ottieni un'immagine di cui eseguire il push

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

  1. Passa a una directory in cui vuoi salvare l'immagine
  2. Esegui questo comando per eseguire il pull della versione 1.0 dell'immagine.

    docker pull gcr.io/google-samples/hello-app:1.0
    

Aggiungi l'immagine a Container Registry

Per aggiungere un'immagine a Container Registry, devi taggarla ed eseguirne il push al Registro di sistema.

Assegna all'immagine un nome di registro

L'assegnazione di tag all'immagine Docker con un nome del Registro di sistema consente di configurare il comando docker push in modo che esegua il push dell'immagine in una posizione specifica. Per questa guida rapida, la località host è gcr.io.

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

docker tag gcr.io/google-samples/hello-app:1.0 gcr.io/PROJECT_ID/quickstart-image:tag1

Sostituisci quanto segue:

  • PROJECT-ID è l'ID progetto della console Google Cloud, che devi aggiungere al comando. Se l'ID progetto contiene i due punti (:), consulta Progetti con ambito di dominio.
  • gcr.io è il nome host
  • quickstart-image è il nome dell'immagine Docker
  • 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 su Container Registry.

Esegui il push dell'immagine in Container 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 gcr.io/PROJECT_ID/quickstart-image:tag1

dove PROJECT_ID è l'ID progetto della console Google Cloud. Se l'ID progetto contiene i due punti (:), consulta Progetti con ambito di dominio.

Quando esegui il push di un'immagine in una nuova località host, il servizio crea il bucket di archiviazione sottostante univoco per il tuo progetto. Puoi visualizzare le immagini ospitate da Container Registry tramite la console Google Cloud o visitando il nome del Registro di sistema dell'immagine nel tuo browser web: http://gcr.io/PROJECT_ID/quickstart-image.

Esegui il pull dell'immagine da Container Registry

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

docker pull gcr.io/PROJECT_ID/quickstart-image:tag1

Sostituisci PROJECT_ID con l'ID progetto della console 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 my-project/quickstart-image:tag1
Digest: sha256:70c42...
Status: Image is up to date for gcr.io/my-project/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.

Esegui questo comando per eliminare l'immagine Docker da Container Registry.

gcloud container images delete gcr.io/PROJECT_ID/quickstart-image:tag1 --force-delete-tags

Sostituisci PROJECT_ID con l'ID progetto della console Google Cloud. Se l'ID progetto contiene i due punti (:), consulta Progetti con ambito di dominio.

Passaggi successivi