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 rimanere in ascolto delle 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 diversi modi per creare immagini container:
- Utilizzo di un Dockerfile
- Utilizzo di Buildpacks
Prima di iniziare
Per eseguire alcuni dei comandi in questa pagina è necessario Google Cloud CLI.
Crea un repository in un container registry supportato. Per creare un repository Artifact Registry eseguendo:
gcloud artifacts repositories create REPOSITORY \ --repository-format=docker \ --location=LOCATION \ --description="DESCRIPTION" \ --immutable-tags \ --async
Puoi configurare Docker per ottenere l'accesso ad Artifact Registry utilizzando l'helper per le credenziali gcloud CLI
gcloud auth configure-docker LOCATION-docker.pkg.dev
Creazione con Dockerfile
Prima di creare le tue origini in un'immagine container ("containerizzazione") in locale utilizzando Docker o Cloud Build, è necessario che sia presente un Dockerfile insieme alle origini. Gli esempi di Hello World contengono applicazioni e Dockerfile di esempio in molti dei linguaggi più comuni.
Se utilizzi Dockerfile, puoi utilizzare uno dei seguenti metodi per creare:
- Crea con Cloud Build
- Crea localmente utilizzando Docker
Creazione con Cloud Build
Puoi creare la tua immagine su Google Cloud utilizzando Cloud Build:
Vai alla cartella contenente le origini e il Dockerfile.
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, è necessario già creare il repository REPO_NAME. L'URL ha la formaLOCATION-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 e push con Docker
Se hai Docker installato in locale, puoi utilizzare docker build
anziché utilizzare Cloud Build o Buildpacks.
Per creare la tua immagine container utilizzando Docker:
Vai alla cartella contenente le origini e
Dockerfile
.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, è necessario già creare il repository REPO_NAME. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.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, è necessario già creare il repository REPO_NAME. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
Per escludere i file locali dal processo, segui le istruzioni relative al file di configurazione .dockerignore
.
Creazione con i buildpack Google Cloud
I buildpack di Google Cloud sono un set di Buildpack compatibili con CNCF che creano codice sorgente in immagini container progettate per l'esecuzione su piattaforme container di Google Cloud, tra cui Cloud Run.
Per un elenco delle lingue supportate, consulta la documentazione relativa ai buildpack Google Cloud
Creazione con i buildpack Google Cloud mediante Cloud Build
Per creare con un buildpack Google Cloud:
Vai alla cartella contenente le origini.
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, è necessario già creare il repository REPO_NAME. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.Attendi il completamento della build.
Creazione con i buildpack di Google Cloud mediante la riga di comando pack
Per creare utilizzando il comando pack:
Se non lo hai già fatto, installa Docker.
Se non lo hai già fatto, installa
pack
.Vai alla cartella contenente le origini.
Esegui questo comando per creare ed eseguire 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, è necessario già creare il repository REPO_NAME. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.Attendi il completamento di
pack
.
Per ulteriori informazioni, consulta le istruzioni riportate in Creazione di un'applicazione.
Passaggi successivi
- Dopo aver creato il container, puoi eseguire un test in locale prima di eseguire il deployment in Cloud Run. Per saperne di più, consulta Test di un servizio Cloud Run in locale.
- Per saperne di più sul contratto che i container devono rispettare per il deployment in Cloud Run, consulta Contratto container.
- Per eseguire il deployment dei container creati in Cloud Run, vedi Deployment dei servizi.
- Per automatizzare le build e i deployment dei servizi Cloud Run utilizzando i trigger di Cloud Build, configura il deployment continuo.
- Per eseguire build di container ottimali per l'applicazione Java, consulta Creazione di container Java con Jib.