Crea ed esegui il push di un'immagine Docker con Cloud Build

Scopri come iniziare a utilizzare Cloud Build creando un'immagine Docker ed eseguendo il push dell'immagine ad Artifact Registry. Artifact Registry fornisce una singola per la gestione di pacchetti privati e immagini container Docker.

Per prima cosa creerai l'immagine utilizzando un'istruzione Dockerfile, ovvero Docker di configurazione del deployment, quindi crea la stessa immagine utilizzando di configurazione di Cloud Build.


Per seguire una guida passo passo per questa attività direttamente nel Editor di Cloud Shell, fai clic su Procedura guidata:

Procedura guidata


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 Cloud Build and Artifact Registry APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  9. Enable the Cloud Build and Artifact Registry APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Prepara i file di origine da creare

Avrai bisogno di un codice sorgente di esempio da pacchettizzare in un'immagine container. In questa sezione, creerai un semplice script shell e un Dockerfile. Un Dockerfile è un messaggio di testo che contiene istruzioni per Docker per creare un'immagine.

  1. Apri una finestra del terminale.

  2. Crea una nuova directory denominata quickstart-docker e accedi alla directory:

    mkdir quickstart-docker
    cd quickstart-docker
    
  3. Crea un file denominato quickstart.sh con i seguenti contenuti:

    echo "Hello, world! The time is $(date)."
  4. Crea un file denominato Dockerfile con i seguenti contenuti:

    FROM alpine
    COPY quickstart.sh /
    CMD ["/quickstart.sh"]
  5. Nella finestra del terminale, esegui questo comando per rendere eseguibile quickstart.sh:

    chmod +x quickstart.sh
    

Crea un repository Docker in Artifact Registry

  1. Crea un nuovo repository Docker denominato quickstart-docker-repo nella località us-west2 con la descrizione "Docker repository" (Repository Docker):

    gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
        --location=us-west2 --description="Docker repository"
    
  2. Verifica che il repository sia stato creato:

    gcloud artifacts repositories list
    

    Vedrai quickstart-docker-repo nell'elenco dei repository visualizzati.

Crea un'immagine utilizzando Dockerfile

Cloud Build ti consente di creare un'immagine Docker utilizzando Dockerfile. Non è necessario un file di configurazione di Cloud Build separato.

Per creare utilizzando un Dockerfile:

  1. Recupera l'ID progetto Google Cloud eseguendo il seguente comando:

    gcloud config get-value project
    
  2. Esegui questo comando dalla directory contenente quickstart.sh e Dockerfile:

    gcloud builds submit --region=us-west2 --tag us-west2-docker.pkg.dev/project-id/quickstart-docker-repo/quickstart-image:tag1
    

Al termine della build, verrà visualizzato un output simile al seguente:

DONE
------------------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION  SOURCE   IMAGES     STATUS
545cb89c-f7a4-4652-8f63-579ac974be2e  2020-11-05T18:16:04+00:00  16S       gs://gcb-docs-project_cloudbuild/source/1604600163.528729-b70741b0f2d0449d8635aa22893258fe.tgz  us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1  SUCCESS

Hai appena creato un'immagine Docker denominata quickstart-image utilizzando Dockerfile e ne hai eseguito il push ad Artifact Registry.

Crea un'immagine utilizzando un file di configurazione della build

In questa sezione utilizzerai un file di configurazione Cloud Build per creare la stessa immagine Docker di cui sopra. Il file di configurazione di compilazione indica a Cloud Build di eseguire attività in base alle tue specifiche.

  1. Nella stessa directory contenente quickstart.sh e Dockerfile, crea un file denominato cloudbuild.yaml con il seguente contenuto. Questo file è il tuo file di configurazione della build. In fase di creazione, Cloud Build sostituisce $PROJECT_ID con il tuo ID progetto.

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      script: |
        docker build -t us-west2-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1 .
      automapSubstitutions: true
    images:
    - 'us-west2-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
  2. Avvia la build eseguendo questo comando:

    gcloud builds submit --region=us-west2 --config cloudbuild.yaml
    

Al termine della compilazione, viene visualizzato un output simile al seguente:

DONE
------------------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION  SOURCE          IMAGES          STATUS
046ddd31-3670-4771-9336-8919e7098b11  2020-11-05T18:24:02+00:00  15S       gs://gcb-docs-project_cloudbuild/source/1604600641.576884-8153be22c94d438aa86c78abf11403eb.tgz  us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1  SUCCESS

Hai appena creato quickstart-image utilizzando il file di configurazione di compilazione e hai eseguito il push della in Artifact Registry.

Visualizza dettagli build

  1. Apri la pagina Cloud Build nella console Google Cloud.

    Apri la pagina di Cloud Build

  2. Seleziona il progetto e fai clic su Apri.

    Verrà visualizzata la pagina Cronologia build:

    Screenshot della pagina Cronologia build

  3. Nel menu a discesa Regione, seleziona us-west2 per visualizzare le build nella regione in questione.

  4. Fai clic su una build.

    Viene visualizzata la pagina Dettagli build.

  5. Per visualizzare gli artefatti della build, in Riepilogo build, fai clic su Artefatti build.

    Verrà visualizzato un output simile al seguente:

    Screenshot degli artefatti della build

    Puoi scaricare il log di build e visualizzare i dettagli dell'immagine in Artifact Registry da questa pagina.

Esegui la pulizia

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

  1. Apri la pagina Artifact Registry nella console Google Cloud.

    Apri la pagina Artifact Registry

  2. Seleziona il progetto e fai clic su Apri.

  3. Seleziona quickstart-docker-repo.

  4. Fai clic su Elimina.

Hai eliminato il repository che hai creato nell'ambito di questa guida rapida.

Passaggi successivi