Configura contenedores

En esta página, se describe cómo configurar el puerto del contenedor, el comando entrypoint y los argumentos.

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

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.

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:

Console

  1. Ir a Cloud Run

  2. 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 Editar e implementar nueva revisión.

  3. Si estás configurando un servicio nuevo, llena la página de configuración inicial del servicio como desees y haz clic en Siguiente > Configuración avanzada para acceder a la página de configuración del servicio.

  4. Haz clic en la pestaña Contenedor.

    image

  5. 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”.

  6. 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.

YAML

Puedes descargar y ver la configuración 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.

  1. Para ver y descargar la configuración, ejecuta el siguiente comando:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Actualiza el atributo containerPort::

    spec:
      containers:
      - image: IMAGE_URL
        ports:
        - containerPort: PORT
    

    Reemplaza los siguientes elementos:

    • IMAGE_URL por una referencia a la imagen del contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest
    • PORT por el puerto al que se envían las solicitudes.
  3. Reemplaza el servicio por la configuración nueva mediante el siguiente comando:

    gcloud run services replace service.yaml

Configura el comando y los argumentos del entrypoint del contenedor

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 como especificadas por Kubernetes.

Puedes establecer argumentos y comandos entrypoint con Cloud Console, la línea de comandos de gcloud o un archivo .yaml cuando creas un servicio nuevo o implementas una revisión nueva:

Console

  1. Ir a Cloud Run

  2. 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 Editar e implementar nueva revisión.

  3. Si estás configurando un servicio nuevo, llena la página de configuración inicial del servicio como desees y haz clic en Siguiente > Configuración avanzada para acceder a la página de configuración del servicio.

  4. Haz clic en la pestaña Contenedor.

    image

  5. 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.

  6. Haz clic en Crear o Implementar.

Línea de comandos

Puedes actualizar el comando de inicio y los argumentos de un servicio determinado mediante el siguiente comando:

gcloud run services update SERVICE --command COMMAND --args ARG1,ARG-N

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; usa una lista delimitada por comas cuando haya más de un argumento

También puedes especificar un entrypoint y argumentos durante la implementación mediante el siguiente comando:

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.

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" \
  --args="--gh-webhook-secret=XX" \

Si se usan comas en los argumentos, consulta Configura variables de entorno para obtener detalles sobre cómo escapar comas.

YAML

Puedes descargar y ver la configuración 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.

  1. Para ver y descargar la configuración, ejecuta el siguiente comando:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Actualiza los atributos command y args:

    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
    • 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
  3. Reemplaza el servicio por la configuración nueva mediante el siguiente comando:

    gcloud run services replace service.yaml

Visualiza la configuración de contenedores

Para ver la configuración de contenedores actual de tu servicio, haz lo siguiente:

Console

  1. Ir a Cloud Run

  2. Haz clic en el servicio que te interesa para abrir la página Detalles del servicio.

  3. Haz clic en la pestaña Revisiones.

  4. En el panel de detalles a la derecha, la configuración de contenedores aparece en la pestaña Contenedor.

Línea de comandos

  1. Usa el siguiente comando:

    gcloud run services describe SERVICE
  2. Busca la configuración de contenedores en la configuración mostrada.