En esta página, se describe cómo configurar el puerto del contenedor, el comando de punto de entrada y los argumentos para los servicios de Cloud Run y cómo configurar el comando y los argumentos de punto de entrada para los trabajos de Cloud Run.
Cuando Cloud Run inicia un contenedor, ejecuta el comando entrypoint predeterminado y los argumentos del comando predeterminados de la imagen. Si deseas anular el entrypoint predeterminado y los argumentos del comando de la imagen, puedes usar los campos command
y args
en la configuración del contenedor. El campo command
especifica el comando real que ejecuta el contenedor. El campo args
especifica los argumentos que se pasan a ese comando.
Configura el puerto del contenedor (servicios)
Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.
En los servicios de Cloud Run, Cloud Run inserta la variable de entorno PORT
en el contenedor.
El contenedor debe escuchar en el puerto que define la variable de entorno PORT
en lugar de un puerto codificado específico. Sin embargo, si esto no es posible, puedes configurar desde qué puerto se envían las solicitudes al contenedor. Ten en cuenta que la configuración de puertos no se aplica a los trabajos de Cloud Run.
Consola
Haz clic en Crear servicio si quieres configurar un servicio nuevo en el que realizarás la implementación. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, en Edit and Deploy New Revision.
Si configuras un servicio nuevo, completa la página de configuración del servicio inicial como desees y haz clic en Contenedor, herramientas de redes, seguridad para expandir la página de configuración del servicio.
Haz clic en la pestaña Contenedor.
- Especifica el puerto al que deseas que se envíen las solicitudes, si no es el valor predeterminado de “8080”. Con esto también se establece la variable de entorno “PORT”.
Haz clic en Crear o Implementar.
Línea de comandos
Puedes actualizar la configuración del puerto de un servicio mediante el siguiente comando:
gcloud run services update SERVICE --port PORT
Reemplaza los siguientes elementos:
- SERVICE por el nombre del servicio
- PORT por el puerto al que se envían las solicitudes. Ten en cuenta que el puerto predeterminado es
8080
También puedes configurar puertos durante la implementación mediante el siguiente comando:
gcloud run deploy --image IMAGE_URL --port PORT
Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest
. Cuando se usa Artifact Registry, la URL tiene el siguiente formato: REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
.
YAML
Puedes descargar y ver las configuraciones del servicio existente mediante el comando gcloud run services describe --format export
, que genera resultados limpios en formato YAML.
Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud run services replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración, ejecuta el siguiente comando:
gcloud run services describe SERVICE --format export > service.yaml
Actualiza el atributo
containerPort:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE_URL ports: - containerPort: PORT
Reemplazar
- SERVICE por el nombre del servicio de Cloud Run
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Cuando se usa Artifact Registry, la URL tiene el siguiente formato:REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - PORT por el puerto al que se envían las solicitudes
- REVISION por un nombre de revisión nuevo o bórralo (si está presente). Si proporcionas un nuevo nombre de revisión, debe cumplir con los siguientes criterios:
- Comienza con
SERVICE-
- Solo contiene letras minúsculas, números y
-
- No termina con
-
- No supera los 63 caracteres
- Comienza con
Reemplaza el servicio por la configuración nueva mediante el comando siguiente:
gcloud run services replace service.yaml
Configura el comando y los argumentos del punto de entrada del contenedor
Puedes configurar argumentos y comandos del punto de entrada para trabajos y servicios de Cloud Run.
Para servicios de Cloud Run
Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.
El comando y los argumentos del contenedor especificados anulan las imágenes predeterminadas ENTRYPOINT
y CMD
.
Puedes establecer argumentos y comandos entrypoint con la consola de Google Cloud, la línea de comandos de gcloud o un archivo .yaml cuando creas un servicio nuevo o implementas una revisión nueva:
Console
Haz clic en Crear servicio si quieres configurar un servicio nuevo en el que realizarás la implementación. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, en Edit and Deploy New Revision.
Si configuras un servicio nuevo, completa la página de configuración del servicio inicial como desees y haz clic en Contenedor, herramientas de redes, seguridad para expandir la página de configuración del servicio.
Haz clic en la pestaña Contenedor.
- Especifica el comando que deseas que ejecute el contenedor, si no es el comando definido en tu contenedor y, de manera opcional, especifica los argumentos para el comando del entrypoint.
Haz clic en Crear o Implementar.
Línea de comandos
Para actualizar el comando y los argumentos de inicio de un servicio existente, sigue estos pasos:
gcloud run services update SERVICE --command COMMAND --args ARG1,ARG-N
Reemplazar
- COMMAND por el comando que usará el contenedor si no usas el comando predeterminado
- ARG1 por el argumento que envías al comando del contenedor; usa una lista delimitada por comas cuando haya más de un argumento
Para especificar un punto de entrada y argumentos durante la implementación de un servicio nuevo o existente, haz lo siguiente:
gcloud run deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest
. Cuando se usa Artifact Registry, la URL tiene el siguiente formato: REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
Para borrar cualquier comando y argumento de punto de entrada que hayas configurado (restablecer a los valores predeterminados del contenedor), proporciona cadenas vacías de la siguiente manera:
gcloud run deploy --image IMAGE_URL --command "" --args ""
YAML
Puedes descargar y ver las configuraciones del servicio existente mediante el comando gcloud run services describe --format export
, que genera resultados limpios en formato YAML.
Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud run services replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración, ejecuta el siguiente comando:
gcloud run services describe SERVICE --format export > service.yaml
Actualiza los atributos
command
yargs
:spec: containers: - image: IMAGE_URL command: - COMMAND args: - "ARG1" - "ARG-N"
Reemplaza los siguientes elementos:
- IMAGE_URL por una referencia a la imagen del contenedor, como
us-docker.pkg.dev/cloudrun/container/hello:latest
Cuando se usa Artifact Registry, la URL tiene el siguiente formato:REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. - COMMAND por el comando que usará el contenedor si no usas el comando predeterminado
- ARG1 por el argumento que envías al comando del contenedor. Si usas varios argumentos, especifica cada uno en su propia línea, por ejemplo, como se muestra, ARG-N.
- IMAGE_URL por una referencia a la imagen del contenedor, como
Reemplaza el servicio por la configuración nueva mediante el siguiente comando:
gcloud run services replace service.yaml
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Agrega el siguiente código a un recurso google_cloud_run_service
en tu configuración de Terraform. Reemplaza /server
por el comando que se usa para iniciar el contenedor y agrega los argumentos necesarios al array args
.
Para trabajos de Cloud Run
A fin de configurar el punto de entrada del comando y los argumentos para los trabajos, haz lo siguiente:
Consola
Si quieres configurar un nuevo trabajo, haz clic en la pestaña Trabajos y completa la página de configuración de trabajo inicial como desees. Si quieres configurar un trabajo existente, haz clic en el trabajo y, luego, en Editar.
Haz clic en Contenedor, variables y secretos, conexiones y seguridad para expandir la página de propiedades del trabajo.
Haz clic en la pestaña General.
- Especifica el comando que deseas que ejecute el contenedor, si no es el comando definido en tu contenedor y, de manera opcional, especifica los argumentos para el comando del entrypoint.
Haz clic en Crear o Actualizar.
Línea de comandos
A fin de configurar el comando de inicio y los argumentos para un trabajo nuevo, sigue estos pasos:
gcloud run jobs create JOB_NAME --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
Reemplazar
- JOB_NAME por el nombre de tu trabajo.
- COMMAND por el comando que usará el contenedor si no usas el comando predeterminado
- ARG1 por el argumento que envías al comando del contenedor o usa una lista delimitada por comas cuando haya más de un argumento
- Reemplaza IMAGE_URL por una referencia a la imagen de contenedor, como
us-docker.pkg.dev/cloudrun/container/job:latest
.
Para actualizar el comando y los argumentos de un trabajo existente, sigue estos pasos:
gcloud run jobs update JOB_NAME --command COMMAND --args ARG1,ARG-N
YAML
Descarga y visualiza la configuración del trabajo existente mediante el comando gcloud run jobs describe --format export
, que genera resultados limpios en formato YAML. Luego, modifica los campos que se describen a continuación y sube el YAML modificado mediante el comando gcloud run jobs replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración, ejecuta el siguiente comando:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Actualiza los atributos
args:
ycommand
: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
Reemplaza los siguientes elementos:
- COMMAND por el comando que usará el contenedor si no usas el comando predeterminado
- ARG1 por el argumento que envías al comando del contenedor. De manera opcional, especifica argumentos adicionales en una línea separada.
También puedes especificar más opciones de configuración, como variables de entorno o límites de memoria.
Actualiza la configuración del trabajo existente:
gcloud run jobs replace job.yaml
Para borrar cualquier comando y argumento de punto de entrada que hayas configurado (restablecer a los valores predeterminados del contenedor), proporciona cadenas vacías de la siguiente manera:
gcloud run jobs update JOB_NAME --command "" --args ""
Usa signos igual o comas en argumentos
Si usas el signo igual en tus argumentos, proporciónalos con el siguiente formato:
gcloud run deploy \
--args="--repo-allowlist=github.com/example/example_demo"
Si se usan comas en los argumentos, consulta Configura variables de entorno para obtener detalles sobre cómo escapar comas.
Configura el orden de inicio del contenedor para implementaciones (de servicios) de sidecar
Para especificar el orden de inicio del contenedor en una implementación de sidecar, usa la función de dependencias de contenedores. Especifica cualquier contenedor que tenga dependencias y enumera los contenedores de los que dependen: esos contenedores se inician primero. Los contenedores que no tienen dependencias siempre se inician primero y de forma simultánea.
Ten en cuenta que si usas sondeos de verificación de estado, Cloud Run inspecciona el estado de un contenedor dependiente y se asegura de que pase con éxito antes de iniciar el contenedor siguiente. Si no usas verificaciones de estado, los contenedores se inician en el orden especificado, incluso si los contenedores de los que dependen no pueden iniciarse.
Durante la vista previa, debes usar el método YAML para configurar el orden de inicio del contenedor. Para especificar el orden de inicio, sigue estos pasos:
YAML
Puedes descargar y ver las configuraciones del servicio existente mediante el comando gcloud run services describe --format export
, que genera resultados limpios en formato YAML.
Luego, puedes modificar los campos que se describen a continuación y subir el YAML modificado mediante el comando gcloud run services replace
.
Asegúrate de modificar los campos tal como se indica en la documentación.
Para ver y descargar la configuración, ejecuta el siguiente comando:
gcloud run services describe SERVICE --format export > service.yaml
Actualiza el atributo
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"]}'
Reemplazar
- CONTAINER1 por el nombre del primer contenedor que depende de uno o más contenedores. Ten en cuenta que puedes configurar el nombre del contenedor en el YAML: Cloud Run generará un nombre de forma automática si no se especifica uno.
- CONTAINER2 por el nombre del contenedor que se debe iniciar antes de CONTAINER1.
- CONTAINER3 por el nombre del segundo contenedor que depende de uno o más contenedores.
En el ejemplo que se muestra en el fragmento YAML, CONTAINER2 se inicia primero, CONTAINER1 se inicia en segundo lugar y CONTAINER3 se inicia en último lugar.
Reemplaza el servicio por la configuración nueva mediante el siguiente comando:
gcloud run services replace service.yaml
Visualiza la configuración del contenedor
Para ver la configuración actual del contenedor de tu servicio de Cloud Run, sigue estos pasos:
Consola
Haz clic en el servicio que te interesa para abrir la página Detalles del servicio.
Haz clic en la pestaña Revisiones.
En el panel de detalles a la derecha, la configuración de contenedores aparece en la pestaña General.
Línea de comandos
Usa el siguiente comando:
gcloud run services describe SERVICE
Busca la configuración de contenedores en la configuración mostrada.
Para ver la configuración actual del contenedor de tu trabajo de Cloud Run, sigue estos pasos:
Consola
Haz clic en el trabajo que te interesa para abrir la página Detalles del trabajo.
Haz clic en la pestaña Configuración.
Ubica la configuración del contenedor en los detalles de configuración.
Línea de comandos
Usa el siguiente comando:
gcloud run jobs describe JOB_NAME
Busca la configuración de contenedores en la configuración mostrada.