Florian Nicolaï
Florian Nicolaï

Reputation: 23

Is it possible to deploy two different docker images within the same Cloud Run service

I've built an app that uses two home made micro services, each of the micro service having its own Dockerfile. When I build it locally I use docker-compose for practical reasons.

Currently, when I deploy to Cloud Run I use commands like

As I understand, docker-compose build just builds two images (one for each Dockerfile) and the places them within the same network which allows some practical connections between these two API.

Is it possible to do something similar one Cloud Run without having to deploy each image on a different service ?

PS: For business reasons I can't host my code directly on Cloud Source Repositories, it has to be on Azure

Upvotes: 2

Views: 2026

Answers (1)

Nibrass H
Nibrass H

Reputation: 2497

It is not possible to deploy 2 different Docker images to Cloud Run.

The Cloud Run works in the following way:

  1. You build a container image and upload to Google Container Registry

  2. Deploy to Cloud Run with the container image.

  3. Your service is automatically scaled up and down to a specific number of container instances depending on your incoming requests. Each container will run the container image.

Summary = Cloud Run takes a user's container and executes it on Google infrastructure, and handles the instantiation of instances (scaling) of that container.

Please Note, Cloud Run is designed to run Websites,REST APIs backend, Back‐office administration etc and it does not support microservices architecture (different servers running in a different container).

For you scenario, you can deploy multiple services in Cloud Run or use other Google Products such as Cloud SQL, Datastore, Spanner or BigTable.

Note: You can'd deploy 2 containers in the same service however you can deploy a container that contains multiple processes as explained in this article written by a Googler

Upvotes: 1

Related Questions