【问题标题】:Is it possible to deploy two different docker images within the same Cloud Run service是否可以在同一个 Cloud Run 服务中部署两个不同的 docker 镜像
【发布时间】:2021-05-27 16:49:30
【问题描述】:

我构建了一个应用,它使用两个自制的微服务,每个微服务都有自己的 Dockerfile。 当我在本地构建它时,出于实际原因,我使用 docker-compose。

目前,当我部署到 Cloud Run 时,我使用类似的命令

  • docker tag xxx
  • docker push xxx
  • 然后我选择要部署在 Cloud run 上的镜像

据我了解,docker-compose build 只构建了两个映像(每个 Dockerfile 一个)并将它们放置在同一个网络中,从而允许这两个 API 之间的一些实际连接。

是否可以在 Cloud Run 中执行类似的操作,而无需将每个映像部署到不同的服务上?

PS:出于业务原因,我无法将代码直接托管在 Cloud Source Repositories 上,它必须在 Azure 上

【问题讨论】:

    标签: docker deployment docker-compose google-cloud-run


    【解决方案1】:

    无法将 2 个不同的 Docker 映像部署到 Cloud Run。

    Cloud Run 的工作方式如下:

    1. 您构建一个容器映像并上传到 Google Container Registry

    2. 使用容器映像部署到 Cloud Run。

    3. 您的服务会根据您的传入请求自动扩展和缩减到特定数量的容器实例。每个容器都会运行容器镜像。

    摘要 = Cloud Run 获取用户的容器并在 Google 基础架构上执行它,并处理该容器的实例化(扩展)。

    请注意,Cloud Run 旨在运行网站REST APIs 后端后台管理 等,它不支持微服务架构(不同的服务器在不同的容器中运行)。

    对于您的场景,您可以在 Cloud Run 中部署多个服务或使用其他 Google Products,例如 Cloud SQL、Datastore、Spanner 或 BigTable。

    注意:您可以在同一个服务中部署 2 个容器,但是您可以部署一个包含多个进程的容器,如 article written by a Googler

    中所述

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      • 1970-01-01
      • 2021-07-03
      • 2021-05-25
      • 1970-01-01
      相关资源
      最近更新 更多