gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 18:47:53 24 4
gpt4 key购买 nike

我是 GCP 的新手,我正在尝试使用 docker-compose 部署我的 spring boot web 服务。在我的 docker-compose.yml 文件中,我有 3 个服务:我的应用程序服务、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 run 上运行图像时,它不会调用 docker-compose。我必须如何处理才能在生产环境中使用 docker-compose?

最佳答案

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

  • 当没有请求被处理时,CPU 会被限制。不建议在 Cloud Run 上使用后台进程/应用程序,建议在 Cloud Run(网络服务器)上使用请求/响应应用程序。
  • Cloud Run 仅支持 HTTP 请求。不支持 TCP 连接(例如 MySQL 连接)。
  • Cloud Run 是无状态的。您不能在其中保存数据。
  • 所有数据都存储在内存中(目录/tmp 是可写的)。您可以超过实例内存的总大小(您的应用占用空间 + 存储在内存中的文件)
  • 与前一点相关,当实例被卸载时(您不管理它,它是无服务器的),您将丢失所有放入内存中的内容。

因此,MySQL 和 Cassandra 服务必须托管在别处

关于docker-compose - 如何在 google cloud run 上运行 docker-compose?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67185073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com