Archivia le immagini container Docker in Artifact Registry
Artifact Registry fornisce un'unica posizione per la gestione dei pacchetti privati e delle immagini container Docker.
Questa guida rapida illustra come:
- Creare 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 Procedura guidata:
Prima di iniziare
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
Scegli una shell
Per completare questa guida rapida, utilizza Cloud Shell o la shell locale.
- Cloud Shell
- Cloud Shell è un ambiente shell per la gestione delle risorse ospitate su Google Cloud. È preinstallato con Docker e l'interfaccia a riga di comando Google Cloud, l'interfaccia a riga di comando principale di Google Cloud.
- Shell locale
- Se preferisci utilizzare la shell locale, devi installare Docker e gcloud CLI nel tuo ambiente.
Avviare Cloud Shell
Per avviare Cloud Shell, segui questi passaggi:
Vai alla console Google Cloud.
Fai clic sul pulsante Attiva Cloud Shell: .
Una sessione di Cloud Shell si apre in un frame nella parte inferiore della console.
Utilizza questa shell per eseguire i comandi gcloud
.
Configurazione di una shell locale
Per installare gcloud CLI e Docker, svolgi i seguenti passaggi:
Installa la gcloud CLI. Per aggiornare un'installazione esistente, esegui il comando
gcloud components update
.Installa Docker, se non è già installato.
Docker richiede l'accesso con privilegi per interagire con i registri. Su Linux o Windows, aggiungi l'utente che utilizzi per eseguire i comandi Docker al gruppo di sicurezza Docker. Questo passaggio non è necessario su macOS poiché Docker Desktop viene eseguito su una macchina virtuale come utente root.
Linux
Il gruppo di sicurezza Docker si chiama
docker
. Per aggiungere il tuo nome utente, esegui il seguente comando:sudo usermod -a -G docker ${USER}
Windows
Il gruppo di sicurezza Docker si chiama
docker-users
. Per aggiungere un utente dal prompt dei comandi dell'amministratore, esegui il seguente comando:net localgroup docker-users DOMAIN\USERNAME /add
Dove
- DOMAIN è il tuo dominio Windows.
- USERNAME è il tuo nome utente.
Uscire e accedere di nuovo per applicare le modifiche all'appartenenza al gruppo. Se utilizzi una macchina virtuale, potrebbe essere necessario riavviare la macchina virtuale affinché le modifiche all'abbonamento vengano applicate.
Per assicurarti che Docker sia in esecuzione, esegui il seguente comando Docker, che restituisce la data e l'ora correnti:
docker run --rm busybox date
Il flag --rm
elimina l'istanza del contenitore all'uscita.
Crea un repository Docker
Crea un repository Docker per archiviare l'immagine di esempio per questa guida rapida.
Console
Apri la pagina Repositories (Repositoi) nella console Google Cloud.
Fai clic su Aggiungi Crea repository.
Specifica
quickstart-docker-repo
come nome del repository.Scegli Docker come formato e Standard come modalità.
In Tipo di località, seleziona Regione, quindi scegli la località
us-west1
.Fai clic su Crea.
Il repository viene aggiunto all'elenco dei repository.
gcloud
Esegui il seguente comando per creare un nuovo repository Docker denominato
quickstart-docker-repo
nella localitàus-west1
con la descrizione "docker repository".gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-west1 --description="Docker repository" \ --project=PROJECT
dove PROJECT è l'ID progetto Google Cloud.
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 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 della regione us-west1
,
esegui il seguente comando:
gcloud auth configure-docker us-west1-docker.pkg.dev
Il comando aggiorna la configurazione Docker. Ora puoi connetterti con Artifact Registry nel tuo progetto Google Cloud per eseguire il push e il pull delle immagini.
Per informazioni su altri metodi di autenticazione, consulta 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 il comando seguente 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-docker.pkg.dev
è il nome host per le immagini container archiviate nei repository Docker di Artifact Registry, che include la posizione del repository (us
).google-samples
è l'ID progetto.containers
è l'ID repository./gke/hello-app
è il percorso dell'immagine nel repositorycontainers
.
Aggiungi l'immagine al repository
Prima di eseguire il push dell'immagine Docker ad Artifact Registry, devi contrassegnarla con il nome del repository.
Tagga l'immagine con un nome del registry
L'attribuzione di un tag all'immagine Docker con un nome repository configura il comando docker push
in modo che esegua il push dell'immagine in una posizione specifica. Per questa guida rapida, la posizione dell'host è us-west1-docker.pkg.dev
.
Esegui il comando seguente per taggare l'immagine come
quickstart-image:tag1
:
docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \ us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Dove
us-west1
è la posizione del repository.us-west1.docker.pkg.dev
è il nome host del repository Docker che hai creato.- PROJECT è il tuo ID progetto Google Cloud. Se l'ID progetto contiene due punti (`:`), consulta Progetti basati sul 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 dell'immagine locale. Per questa guida introduttiva, immagazzinerai l'immagine direttamente sotto l'ID repositoryquickstart-docker-repo
.tag1
è un tag che stai aggiungendo all'immagine Docker. Se non hai specificato un tag, Docker applicherà il tag predefinitolatest
.
Ora puoi 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-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Sostituisci PROJECT con il tuo ID progetto Google Cloud. Se l'ID progetto contiene due punti (`:`), consulta Progetti basati sul 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-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Sostituisci PROJECT con il tuo ID progetto Google Cloud. Se l'ID progetto contiene due punti (`:`), consulta Progetti basati sul 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-west1-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
Apri la pagina Repositories (Repositoi) nella console Google Cloud.
Nell'elenco dei repository, seleziona il repository
quickstart-docker-repo
.Fai clic su Elimina.
gcloud
Per eliminare il repository quickstart-docker-repo
, esegui questo comando:
gcloud artifacts repositories delete quickstart-docker-repo --location=us-west1
Passaggi successivi
- Scopri di più sull'utilizzo delle immagini container.
- Scopri di più su Docker.
- Leggi le nostre risorse su DevOps ed esplora il programma di ricerca DevOps Research and Assessment (DORA).