Cloud Run accetta le immagini container create con qualsiasi strumento in grado di compilarle, a condizione che rispettino il contratto del container.
In particolare, il codice deve ascoltare le richieste HTTP sulla porta definita
la variabile di ambiente PORT
. Questa variabile di ambiente PORT
è
inseriti automaticamente da Cloud Run nel tuo container.
Questa pagina descrive diversi modi per creare immagini contenitore:
- Utilizzo di un Dockerfile
- Utilizzo dei buildpack di Google Cloud
Prima di iniziare
Per eseguire alcuni dei comandi in questa pagina, devi disporre di Google Cloud CLI.
Crea un repository in un registry dei container supportato. A crea un repository Artifact Registry, esegui:
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 il Assistente per le credenziali dell'interfaccia a riga di comando gcloud
gcloud auth configure-docker LOCATION-docker.pkg.dev
Creazione utilizzando un Dockerfile
Prima di creare le tue origini in un'immagine container ("containerizzazione") in locale con Docker o Cloud Build, è necessaria Dockerfile presente insieme alle tue fonti. Gli esempi di Hello World contengono applicazioni di esempio e Dockerfile in molti linguaggi diffusi.
Se utilizzi Dockerfile, puoi usare uno dei seguenti metodi per creare:
- Esegui la compilazione utilizzando Cloud Build
- Crea localmente con Docker
Creazione di pacchetti 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 del container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creati. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
di Google.
Per suggerimenti su come migliorare le prestazioni delle build, consulta Velocizzare le build
Creazione di build in locale ed esecuzione del push utilizzando Docker
Se Docker hai installato in locale,
può usare docker build
anziché utilizzare Cloud Build o i buildpack di Google Cloud.
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 del container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
di Google.Tieni presente che se utilizzi un Mac con Apple Silicon, devi specificare
--platform linux/amd64
nella riga di comando.Esegui il push dell'immagine container in un registry dei container supportato:
docker push IMAGE_URL
Sostituisci IMAGE_URL con un riferimento all'immagine container, per ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
Per escludere i file locali da questa procedura, segui le
File di configurazione di .dockerignore
istruzioni.
Creazione utilizzando i buildpack di Google Cloud
I buildpack di Google Cloud sono un insieme Buildpack compatibili con CNC che creano codice sorgente immagini container progettate per essere eseguite su piattaforme di container Google Cloud, incluso 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 del container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creati. 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 del container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creati. 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 riportate in Creazione di un'applicazione.
Passaggi successivi
- Dopo aver creato il contenitore, puoi eseguire il test localmente prima di eseguire il deployment in Cloud Run. Per saperne di più, consulta Testare un servizio Cloud Run localmente.
- Per saperne di più sul contratto che i container devono rispettare per eseguire il deployment in Cloud Run, consulta Contratto container.
- Per eseguire il deployment dei container creati in Cloud Run, segui la sezione Eseguire il deployment dei servizi.
- per automatizzare le build e i deployment dei tuoi servizi Cloud Run utilizzando i trigger di Cloud Build, configura il deployment continuo.
- Per eseguire build di container ottimali per l'applicazione Java, vedi Creazione di container Java con Jib.