Questa pagina descrive come configurare la porta del container, il comando entrypoint e gli argomenti per i servizi Cloud Run e come configurare il comando e gli argomenti entrypoint per i job Cloud Run.
Quando Cloud Run avvia un container, esegue il comando entrypoint predefinito dell'immagine e gli argomenti del comando predefinito. Se vuoi eseguire l'override dell'entrypoint e degli argomenti di comando predefiniti dell'immagine, puoi utilizzare i campi command
e args
nella configurazione del container. Il campo command
specifica il comando effettivo eseguito dal container. Il campo args
specifica gli argomenti passati al comando.
Configura la porta del container (servizi)
Qualsiasi modifica alla configurazione porta alla creazione di una nuova revisione. Le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.
Per i servizi Cloud Run, Cloud Run inserisce la variabile di ambiente PORT
nel container.
Il container deve rimanere in ascolto sulla porta definita dalla variabile di ambiente PORT
anziché da una porta specifica con hardcoded. Tuttavia, se questo non è possibile, puoi
configurare su quali richieste di trasferimento vengono inviate le immagini al container. Tieni presente che le impostazioni della porta non vengono applicate ai job Cloud Run.
Console
Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando un servizio esistente, fai clic sul servizio e poi su Modifica ed esegui il deployment di una nuova revisione.
Se stai configurando un nuovo servizio, compila la pagina delle impostazioni del servizio iniziale come preferisci, quindi fai clic su Container, Networking, Security per espandere la pagina di configurazione del servizio.
Fai clic sulla scheda Contenitore.
- Specifica la porta a cui inviare le richieste, se non il valore predefinito "8080". Imposta anche la variabile di ambiente "PORT".
Fai clic su Crea o Esegui il deployment.
Riga di comando
Puoi aggiornare la configurazione della porta di un servizio utilizzando il seguente comando:
gcloud run services update SERVICE --port PORT
Sostituisci
- SERVICE il nome del servizio.
- PORT con la porta a cui inviare le richieste. Tieni presente che la porta predefinita è
8080
.
Puoi configurare le porte anche durante il deployment utilizzando il comando:
gcloud run deploy --image IMAGE_URL --port PORT
Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest
. Quando utilizzi Artifact Registry,
l'URL ha il formato: REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
.
YAML
Puoi scaricare e visualizzare le configurazioni di servizio esistenti utilizzando il comando
gcloud run services describe --format export
, che genera
risultati puliti in formato YAML.
Successivamente, potrai modificare i campi descritti di seguito e caricare il file YAML modificato utilizzando il comando gcloud run services replace
.
Assicurati di modificare solo i campi come documentato.
Per visualizzare e scaricare la configurazione:
gcloud run services describe SERVICE --format export > service.yaml
Aggiorna l'attributo
containerPort:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE_URL ports: - containerPort: PORT
Sostituisci
- SERVICE con il nome del tuo servizio Cloud Run
- IMAGE_URL con un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Quando utilizzi Artifact Registry, l'URL ha il formato:REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - PORT con la porta a cui inviare richieste
- REVISION con un nuovo nome di revisione o eliminalo (se presente). Se fornisci un nuovo nome della revisione, deve soddisfare i seguenti criteri:
- Inizia con
SERVICE-
- Contiene solo lettere minuscole, numeri e
-
- Non termina con
-
- Non superare i 63 caratteri.
- Inizia con
Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:
gcloud run services replace service.yaml
Configura il comando del punto di ingresso del container e gli argomenti
Puoi configurare comandi e argomenti entrypoint per i job e i servizi Cloud Run.
Per i servizi Cloud Run
Qualsiasi modifica alla configurazione porta alla creazione di una nuova revisione. Le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.
Il comando e gli argomenti del container specificati sostituiscono l'immagine predefinita
ENTRYPOINT
e CMD
.
Puoi impostare il comando entrypoint e gli argomenti utilizzando la console Google Cloud o la riga di comando gcloud oppure utilizzando un file .yaml quando crei un nuovo servizio o esegui il deployment di una nuova revisione:
Console
Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando un servizio esistente, fai clic sul servizio e poi su Modifica ed esegui il deployment di una nuova revisione.
Se stai configurando un nuovo servizio, compila la pagina delle impostazioni del servizio iniziale come preferisci, quindi fai clic su Container, Networking, Security per espandere la pagina di configurazione del servizio.
Fai clic sulla scheda Contenitore.
- Specifica il comando che vuoi che venga eseguito dal container, se non il comando definito nel container e, facoltativamente, gli argomenti per il comando entrypoint.
Fai clic su Crea o Esegui il deployment.
Riga di comando
Per aggiornare il comando start e gli argomenti per un servizio esistente:
gcloud run services update SERVICE --command COMMAND --args ARG1,ARG-N
Sostituisci
- COMMAND con il comando che il container deve avviare se non stai utilizzando il comando predefinito.
- ARG1 con l'argomento che stai inviando al comando container, utilizza un elenco delimitato da virgole per più di un argomento.
Per specificare il punto di ingresso e gli argomenti durante il deployment di un servizio nuovo o esistente:
gcloud run deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest
. Quando utilizzi Artifact Registry,
l'URL ha il formato: REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
Per cancellare tutti i comandi e gli argomenti entrypoint impostati (ripristina i valori predefiniti del container), fornisci stringhe vuote come segue:
gcloud run deploy --image IMAGE_URL --command "" --args ""
YAML
Puoi scaricare e visualizzare le configurazioni di servizio esistenti utilizzando il comando
gcloud run services describe --format export
, che genera
risultati puliti in formato YAML.
Successivamente, potrai modificare i campi descritti di seguito e caricare il file YAML modificato utilizzando il comando gcloud run services replace
.
Assicurati di modificare solo i campi come documentato.
Per visualizzare e scaricare la configurazione:
gcloud run services describe SERVICE --format export > service.yaml
Aggiorna gli attributi
command
eargs
:spec: containers: - image: IMAGE_URL command: - COMMAND args: - "ARG1" - "ARG-N"
Sostituisci
- IMAGE_URL con un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Quando utilizzi Artifact Registry, l'URL ha il formato:REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - COMMAND con il comando che il container deve avviare se non stai utilizzando il comando predefinito.
- ARG1 con l'argomento che stai inviando al comando container. Se utilizzi più argomenti, specificali tutti su una riga separata, ad esempio come mostrato in ARG-N.
- IMAGE_URL con un riferimento all'immagine container, ad esempio
Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:
gcloud run services replace service.yaml
Terraform
Per informazioni su come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Aggiungi il codice seguente a una risorsa google_cloud_run_service
nella configurazione Terraform. Sostituisci /server
con il comando utilizzato per avviare il container e aggiungi eventuali argomenti necessari all'array args
.
Per job Cloud Run
Per configurare il punto di ingresso del comando e gli argomenti per i job:
Console
Se stai configurando un nuovo job, fai clic sulla scheda Job e compila la pagina delle impostazioni del job iniziale come preferisci. Se stai configurando un job esistente, fai clic sul job e poi su Modifica.
Fai clic su Container, variabili e secret, connessioni, sicurezza per espandere la pagina delle proprietà del job.
Fai clic sulla scheda Generale.
- Specifica il comando che vuoi che venga eseguito dal container, se non il comando definito nel container e, facoltativamente, gli argomenti per il comando entrypoint.
Fai clic su Crea o Aggiorna.
Riga di comando
Per impostare il comando start e gli argomenti per un nuovo job:
gcloud run jobs create JOB_NAME --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
Sostituisci
- JOB_NAME con il nome del job.
- COMMAND con il comando che il container deve avviare se non stai utilizzando il comando predefinito.
- ARG1 con l'argomento che stai inviando al comando container oppure utilizza un elenco delimitato da virgole per più di un argomento.
- Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest
.
Per aggiornare il comando e gli argomenti per un job esistente:
gcloud run jobs update JOB_NAME --command COMMAND --args ARG1,ARG-N
YAML
Scarica e visualizza la configurazione del job esistente utilizzando il comando gcloud run jobs describe --format export
, che genera risultati puliti in formato YAML. Successivamente, modifica i campi descritti di seguito e carica il file YAML modificato utilizzando il comando gcloud run jobs replace
.
Assicurati di modificare solo i campi come documentato.
Per visualizzare e scaricare la configurazione:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Aggiorna gli attributi
args:
ecommand
:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME spec: template: spec: template: spec: containers: - args: - 'ARG1' - 'ARG-N' command: - COMMAND image: IMAGE
Sostituisci
- COMMAND con il comando che il container deve avviare se non stai utilizzando il comando predefinito.
- ARG1 con l'argomento che stai inviando al comando container. Facoltativamente, puoi specificare argomenti aggiuntivi in righe separate.
Puoi anche specificare altre configurazioni come variabili di ambiente o limiti di memoria.
Aggiorna la configurazione del job esistente:
gcloud run jobs replace job.yaml
Per cancellare tutti i comandi e gli argomenti entrypoint impostati (ripristina i valori predefiniti del container), fornisci stringhe vuote come segue:
gcloud run jobs update JOB_NAME --command "" --args ""
Utilizzo di simboli di uguale o virgole negli argomenti
Se utilizzi segni uguali negli argomenti, forniscili utilizzando il seguente formato:
gcloud run deploy \
--args="--repo-allowlist=github.com/example/example_demo"
Se i tuoi argomenti utilizzano virgole, consulta la configurazione delle variabili di ambiente per i dettagli sull'escape.
Configurare l'ordine di avvio del container per i deployment sidecar (servizi)
Per specificare l'ordine di avvio del container in un deployment sidecar, utilizza la funzionalità delle dipendenze dei container. Puoi specificare i container che hanno dipendenze ed elencare i container da cui dipendono: questi container vengono avviati per primi. I container che non hanno dipendenze vengono sempre avviati per primi e contemporaneamente.
Tieni presente che se utilizzi probe di controllo di integrità, Cloud Run controlla l'integrità di un container dipendente, assicurandoti che venga superato correttamente prima di avviare il container successivo. Se non utilizzi i controlli di integrità, i container vengono avviati nell'ordine specificato anche se i container dipendono dal mancato avvio.
Durante l'anteprima, devi utilizzare il metodo YAML per configurare l'ordine di avvio dei container. Per specificare l'ordine di avvio:
YAML
Puoi scaricare e visualizzare le configurazioni di servizio esistenti utilizzando il comando
gcloud run services describe --format export
, che genera
risultati puliti in formato YAML.
Successivamente, potrai modificare i campi descritti di seguito e caricare il file YAML modificato utilizzando il comando gcloud run services replace
.
Assicurati di modificare solo i campi come documentato.
Per visualizzare e scaricare la configurazione:
gcloud run services describe SERVICE --format export > service.yaml
Aggiorna l'attributo
container-dependencies
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/launch-stage: BETA name: SERVICE spec: template: metadata: annotations: run.googleapis.com/container-dependencies: '{"CONTAINER1":["CONTAINER2"], "CONTAINER3":["CONTAINER1","CONTAINER2"]}'
Sostituisci
- CONTAINER1 con il nome del primo container che dipende da uno o più container. Tieni presente che puoi impostare il nome del container in YAML: Cloud Run genera automaticamente un nome se non ne è specificato uno.
- CONTAINER2 con il nome del contenitore, che deve essere avviato prima del giorno CONTAINER1.
- CONTAINER3 con il nome del secondo container che dipende da uno o più container.
Nell'esempio mostrato nello snippet YAML, CONTAINER2 viene avviato per primo, CONTAINER1 viene avviato per secondo e CONTAINER3 viene avviato per ultimo.
Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:
gcloud run services replace service.yaml
Visualizza le impostazioni del contenitore
Per visualizzare le impostazioni attuali del container per il tuo servizio Cloud Run:
Console
Fai clic sul servizio che ti interessa per aprire la pagina Dettagli del servizio.
Fai clic sulla scheda Revisioni.
Nel riquadro dei dettagli a destra, l'impostazione del contenitore è elencata nella scheda Generali.
Riga di comando
Utilizza il comando seguente:
gcloud run services describe SERVICE
Individua l'impostazione del container nella configurazione restituita.
Per visualizzare le impostazioni attuali del container per il tuo job Cloud Run:
Console
Fai clic sul job che ti interessa per aprire la pagina Dettagli job.
Fai clic sulla scheda Configuration (Configurazione).
Individua l'impostazione del container nei dettagli di configurazione.
Riga di comando
Utilizza il comando seguente:
gcloud run jobs describe JOB_NAME
Individua l'impostazione del container nella configurazione restituita.