Creazione di container

Cloud Run accetta immagini container create con qualsiasi strumento in grado di creare immagini container, purché rispettino il contratto del container. In particolare, il codice deve ascoltare le richieste HTTP sulla porta definita dalla variabile di ambiente PORT. Questa variabile di ambiente PORT viene inserita automaticamente da Cloud Run nel tuo container.

In questa pagina vengono descritti i diversi modi per creare immagini container:

  • Utilizzo di un Dockerfile
  • Utilizzo di Buildpacks

Prima di iniziare

Creazione con Dockerfile

Prima di creare le tue origini in un'immagine container ("containerizzazione") localmente utilizzando Docker o Cloud Build, è necessario che sia presente un Dockerfile insieme alle origini. Gli esempi di Hello World contengono applicazioni di esempio e Dockerfile in molti linguaggi comuni.

Se utilizzi Dockerfile, puoi usare uno dei seguenti metodi per creare:

  • Crea con Cloud Build
  • Crea localmente con Docker

Creazione con Cloud Build

Puoi creare la tua immagine su Google Cloud utilizzando Cloud Build:

  1. Vai alla cartella contenente le origini e il Dockerfile.

  2. Esegui il comando:

    gcloud builds submit --tag IMAGE_URL

    Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creato. L'URL ha la forma LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

Per suggerimenti su come migliorare le prestazioni delle build, consulta Velocizzare le build

Creazione in locale ed esecuzione di push con Docker

Se hai Docker installato in locale, puoi utilizzare docker build anziché Cloud Build o Buildpacks.

Per creare la tua immagine container utilizzando Docker:

  1. Vai alla cartella contenente le origini e Dockerfile.

  2. Esegui il comando:

    docker build . --tag IMAGE_URL

    Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creato. L'URL ha la forma LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

    Tieni presente che se utilizzi un Mac con Silicon Apple, devi specificare --platform linux/amd64 nella riga di comando.

  3. Esegui il push dell'immagine container in un Container Registry supportato:

    docker push IMAGE_URL

    Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creato. L'URL ha la forma LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

Per escludere i file locali da questo processo, segui le istruzioni per il file di configurazione di .dockerignore.

Creazione con buildpack di Google Cloud

I buildpack di Google Cloud sono un insieme di buildpack compatibili con CNCF che creano codice sorgente in immagini container progettate per essere eseguite su piattaforme di container Google Cloud, tra cui Cloud Run.

Per un elenco dei linguaggi supportati, consulta la documentazione relativa ai buildpack di Google Cloud

Creare con i buildpack di Google Cloud utilizzando Cloud Build

Per creare con i buildpack di Google Cloud:

  1. Vai alla cartella contenente le origini.

  2. Esegui il comando:

    gcloud builds submit --pack image=IMAGE_URL

    Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creato. L'URL ha la forma LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

  3. Attendi il completamento della build.

Creazione con buildpack di Google Cloud mediante la riga di comando pack

Per creare utilizzando il comando pack:

  1. Se non l'hai ancora fatto, installa Docker.

  2. Se non l'hai ancora fatto, installa pack.

  3. Vai alla cartella contenente le origini.

  4. Esegui questo comando per creare la build ed eseguirne il push al Container Registry supportato:

    pack build --publish IMAGE_URL

    Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creato. L'URL ha la forma LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

  5. Attendi il completamento di pack.

Per ulteriori informazioni, leggi le istruzioni in Creazione di un'applicazione.

Passaggi successivi