当前位置: 首页 > 知识库问答 >
问题:

如何在google cloud run上运行docker-compose?

艾宁
2023-03-14

我是GCP的新手,我正在尝试使用Docker-Compose部署我的spring boot web服务。在我的docker-compose.yml文件中,我有3个服务:我的app服务、mysql服务和cassandra服务。在当地,它就像一种魅力。我还添加了一个cloudbuild.yaml文件:

steps:
- name: 'docker/compose:1.28.2'
  args: ['up', '-d']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'workspace_app:latest', 'gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA']
images: ['gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA']

Google cloud build的构建是成功的。但是,当我尝试在google cloud run上运行图像时,它不会调用docker-compose。我必须如何处理才能在生产上使用docker-compose?

共有1个答案

白青青
2023-03-14

使用Cloud Run,您只能部署一个容器映像。容器可以包含多个您可以并行运行的二进制文件。但请记住:

  • 当未处理任何请求时,CPU将被限制。云运行上不推荐后台进程/应用程序,首选云运行(Web服务器)上的请求/响应应用程序。
  • 云运行只支持HTTP请求。不支持TCP连接(如MySQL连接)。
  • 云运行是无状态的。不能在其中持久化数据。
  • 所有数据都存储在内存中(目录/tmp是可写的)。您可以超过实例内存的总大小(应用程序占用空间+存储在内存中的文件)
  • 与前一点相关,当实例卸载时(您不对此进行管理,它是无服务器的),您将丢失所有放在内存中的内容。

因此,MySQL和Cassandra服务必须托管在其他地方

 类似资料:
  • 我已经在我的主机虚拟机上安装了docker。现在想用vi创建一个文件。 但它向我展示了一个错误:

  • 问题内容: 借助Android 4.4 KitKat,Google将linux内核升级到3.8版,这是Docker所需的内核版本。 我不知道AUFS部分,但是有没有办法通过此更新在android上运行docker容器? 问题答案: 根据文档,Android内核缺少LXC所需的很多内核功能。 也许将来使用Docker 1.x,可能会编写一个使用Android功能而非LXC的插件。但就目前而言,您需要

  • Docker-compose.yaml 我怎么能那么做?

  • 我在Docker上有分片系统。我有一个带有副本集的6个碎片(P-S-A)、带有副本集的配置服务器和2个mongo服务器。

  • 主机系统为ARCHLinux。我想开发需要运行Windows docker容器的.NET4.6.1应用程序。所以我在VirtualBox下运行Win10。然后我在Win10中安装Docker,以运行Windows Docker容器。Linux->VirtualBox->Win10->Docker->Windows Docker容器->要运行的应用程序。 或者更具体地说,VirtualBox是否支持

  • 问题内容: 我已成功将docker用于Windows 10上带有Linux容器的Windows窗口-但现在我想使用新的闪亮Windows Server 2016进行该任务-但是如何呢? 我已经使用此指南安装了Docker功能:https : //msdn.microsoft.com/zh- cn/virtualization/windowscontainers/quick_start/quick_