DEV Community

Ada Cheng
Ada Cheng

Posted on

4 2

Deploy a Docker image to Google Cloud using Cloud Run

In this article, I would like to document how I deploy a Docker image to Google Cloud using Cloud Run.

Table of Contents

Build the docker image

Refer to my article Dockerizing a Node.js web application for developing a Node.js application and building a docker image.

Configure Google Cloud

Create a Google Cloud Project

If you have already created a project, you can skip this section and go directly to Configure a Google Cloud Project.

  1. In Google Cloud Shell, perform the following steps:

    1. Lists credentialed accounts and make sure the desired account is set active.

      gcloud auth list
      
    2. Create a project.

      gcloud projects create PROJECT_ID
      
    * *Replace PROJECT_ID with your desired project ID.*
    
  2. Enable Billing in Google Cloud Console.

Configure a Google Cloud Project

  1. List all projects.

    gcloud projects list
    
  2. Set the default project.

    gcloud config set project PROJECT_ID
    
* *Replace PROJECT_ID with your project ID.*
Enter fullscreen mode Exit fullscreen mode
  1. Print the project ID.

    echo $GOOGLE_CLOUD_PROJECT
    
  2. Set the default zone if it is not set:

    gcloud config set compute/zone COMPUTE_ZONE
    
* *Replace COMPUTE_ZONE with your compute zone, such as europe-west2-c.*
Enter fullscreen mode Exit fullscreen mode
  1. Set the default region if it is not set:

    gcloud config set compute/region COMPUTE_REGION
    
* *Replace COMPUTE_REGION with your compute region, such as europe-west2.*
Enter fullscreen mode Exit fullscreen mode
  1. Show the configuration.

    gcloud config list
    
  2. Enable APIs in Google Cloud Shell.

    1. Enable Cloud Run.

      run.googleapis.com
      

Deploy to Google Cloud

Deployment

  1. Submit the docker image to Container Registry.

    gcloud builds submit --tag gcr.io/$GOOGLE_CLOUD_PROJECT/website
    
* *Replace PROJECT_ID with your project ID.*
Enter fullscreen mode Exit fullscreen mode
  1. List all container images in this project to verify that the docker image has been submitted successfully.

    gcloud container images list
    
  2. Deploy the Container Image to Cloud Run.

    gcloud run deploy CONTAINER_NAME \
    --image gcr.io/$GOOGLE_CLOUD_PROJECT/DOCKER_IMAGE_NAME:DOCKER_IMAGE_VERSION \
    --platform managed \
    --region GCR_REGION \
    --allow-unauthenticated
    
* *Replace CONTAINER_NAME with the desired Container Name.*

* *Replace DOCKER_IMAGE_NAME with your docker image name.*

* *Replace DOCKER_IMAGE_VERSION with the version of your docker image name.*

* *Replace PROJECT_ID with your project ID.*

* *Replace GCR_REGION with your region, such as europe-west2.*
Enter fullscreen mode Exit fullscreen mode

Here below is a working example:

```shell
gcloud run deploy portfolio-website \
--image gcr.io/$GOOGLE_CLOUD_PROJECT/website:latest \
--platform managed \
--region europe-west1 \
--allow-unauthenticated
```
Enter fullscreen mode Exit fullscreen mode

Verification

  • Check that the web application is running by opening URL of the Cloud Run Service in a web browser.

Check Cloud Run URL in GVP

Verify docker deployment in GCP

References

  1. Source code in GitHub
  2. Live demo at Google Cloud

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

AWS GenAI Live!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️