This directory contains samples for Google Cloud Run. Cloud Run runs stateless containers on a fully managed environment or in your own GKE cluster.
Sample | Description | Deploy |
---|---|---|
Hello World ➥ | Quickstart | |
Cloud Pub/Sub | Handling Pub/Sub push messages | |
Cloud SQL (MySQL) | Use MySQL with Cloud Run | - |
Cloud SQL (Postgres) | Use Postgres with Cloud Run | - |
Django | Deploy Django on Cloud Run | - |
Identity Platform | Authenticate users and connect to a Cloud SQL postgreSQL databases |
For more Cloud Run samples beyond Python, see the main list in the Cloud Run Samples repository.
-
Clone this repository:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Note: Some samples in the list above are hosted in other repositories. They are noted with the symbol "➥".
-
export SAMPLE=<SAMPLE_NAME> cd $SAMPLE docker build --tag $SAMPLE .
-
With the built container:
PORT=8080 && docker run --rm -p 8080:${PORT} -e PORT=${PORT} $SAMPLE
Overriding the built container with local code:
PORT=8080 && docker run --rm \ -p 8080:${PORT} -e PORT=${PORT} \ -v $PWD:/app $SAMPLE
Injecting your service account key for access to GCP services:
# Set the name of the service account key within the container export SA_KEY_NAME=my-key-name-123 PORT=8080 && docker run --rm \ -p 8080:${PORT} \ -e PORT=${PORT} \ -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/${SA_KEY_NAME}.json \ -v $GOOGLE_APPLICATION_CREDENTIALS:/tmp/keys/${SA_KEY_NAME}.json:ro \ -v $PWD:/app $SAMPLE
-
Use the --volume (-v) flag to inject the credential file into the container (assumes you have already set your
GOOGLE_APPLICATION_CREDENTIALS
environment variable on your machine) -
Use the --environment (-e) flag to set the
GOOGLE_APPLICATION_CREDENTIALS
variable inside the container
Learn more about testing your container image locally.
-
- Set an environment variable with your GCP Project ID
export GOOGLE_CLOUD_PROJECT=<PROJECT_ID>
- Submit a build using Google Cloud Build
gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/${SAMPLE}
- Deploy to Cloud Run
gcloud run deploy $SAMPLE --image gcr.io/${GOOGLE_CLOUD_PROJECT}/${SAMPLE}
See Building containers and Deploying container images for more information.