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
Per eseguire alcuni dei comandi in questa pagina, devi disporre di 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 delle credenziali dell'interfaccia a riga di comando gcloud
gcloud auth configure-docker LOCATION-docker.pkg.dev
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:
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, il repository REPO_NAME deve essere già creato. 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 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:
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, il repository REPO_NAME deve essere già creato. L'URL ha la formaLOCATION-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.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 formaLOCATION-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:
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, il repository REPO_NAME deve essere già creato. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.Attendi il completamento della build.
Creazione con buildpack di Google Cloud mediante la riga di comando pack
Per creare utilizzando il comando pack:
Se non l'hai ancora fatto, installa Docker.
Se non l'hai ancora fatto, installa
pack
.Vai alla cartella contenente le origini.
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 formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.Attendi il completamento di
pack
.
Per ulteriori informazioni, leggi le istruzioni in Creazione di un'applicazione.
Passaggi successivi
- Dopo aver creato il container, puoi eseguire il test in locale prima di eseguire il deployment in Cloud Run; consulta Test locale di un servizio Cloud Run per ulteriori informazioni.
- Per saperne di più sul contratto che deve rispettare i container per eseguire il deployment in Cloud Run, consulta Contratto container.
- Per eseguire il deployment dei container creati in Cloud Run, consulta la sezione Deployment dei servizi.
- Per automatizzare le build e i deployment dei tuoi servizi Cloud Run mediante 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.