This page describes how to configure the entrypoint command, and arguments for a Cloud Run worker pool.
When Cloud Run starts a container, it runs the image's default
entrypoint command and default command arguments. If you want to
override the image's default entrypoint and command arguments, you can use the
command
and args
fields in the container configuration. The command
field
specifies the actual command run by the container. The args
field specifies
the arguments passed to that command.
Note that you can have a maximum of 1000 arguments per container for each worker pool.
Required roles
To get the permissions that you need to configure and deploy Cloud Run worker pools, ask your administrator to grant you the following IAM roles:
-
Cloud Run Developer (
roles/run.developer
) on the Cloud Run worker pool -
Service Account User (
roles/iam.serviceAccountUser
) on the service identity
For a list of IAM roles and permissions that are associated with Cloud Run, see Cloud Run IAM roles and Cloud Run IAM permissions. If your Cloud Run worker pool interfaces with Google Cloud APIs, such as Cloud Client Libraries, see the service identity configuration guide. For more information about granting roles, see deployment permissions and manage access.
Configure entrypoint and arguments
Any configuration change leads to the creation of a new revision. Subsequent revisions will also automatically get this configuration setting unless you make explicit updates to change it.
The specified container command and arguments override the default image
ENTRYPOINT
and CMD
.
You can set entrypoint command and arguments for a Cloud Run worker pool using the Google Cloud CLI when you create a new worker pool or deploy a new revision:
gcloud
To update the start command and arguments for an existing service:
gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N
Replace:
- WORKER_POOL with the name of the worker pool.
- COMMAND with the command that the container starts with. if you are not using the default command.
- ARG1 with the argument you are sending to the container command. Use a comma-delimited list for more than one argument.
To specify entrypoint and arguments during deployment of a new or existing worker pool:
gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
Replace IMAGE_URL with a reference to the container image that
contains the worker pool, such as us-docker.pkg.dev/cloudrun/container/worker-pool:latest
If you want to restore the container defaults for the entrypoint commands and arguments, supply empty strings as follows:
gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""
Configure container start order for sidecar deployments
To specify the container start up order in a sidecar deployment, use the container dependencies feature. Specify any containers that have dependencies and list the containers they depend on, so those containers are started first. The containers that don't have any dependencies are always started first and concurrently.
To use this feature successfully, you must use startup healthcheck probes. The startup probe enables Cloud Run to inspect the health of a dependent container, making sure it passes successfully before it starts up the next container. If you don't use healthchecks, containers are started in the specified order even if containers they depend on fail to start.
Note that there is no default startup healthcheck probe for worker pools.
Use the Google Cloud CLI to specify the startup order:
gcloud
Before using the Google Cloud CLI to specify startup order, configure a startup healthcheck.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
To deploy multiple containers to a service with a specified startup order, run the command:
gcloud beta run worker-pools deploy WORKER_POOL \ --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE' --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \ --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME
- Replace WORKER_POOL with the name of the worker pool you are deploying to. If you omit this parameter you will be prompted for the worker pool name later.
- Replace IMAGE_URL with a reference to the container image that
contains the worker pool, such as
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. Replace SIDECAR_IMAGE with a reference to the sidecar container image
If you want to configure each container in the deploy command, supply each container's configuration after the
container
parameters.
View container configuration for the worker pool
In the Google Cloud console, go to Cloud Run:
Click Worker pools to display the list of deployed worker pools.
Click the worker pool you want to examine to display its details pane.
Click the Containers tab to display worker pool container configuration.