【问题标题】:Docker Compose to Cloud RunDocker Compose 到 Cloud Run
【发布时间】:2021-09-14 06:37:33
【问题描述】:

我创建了一个包含 django 应用程序和 postgresql 的 docker compose 文件,它运行良好。然后我很困惑是否可以将此 docker compose 文件部署到 google 容器注册表以运行云运行?

    version: "3.8"

services:
  app:
    build: .
    volumes:
      - .:/app
    ports:
      - 8000:8000
    image: django-app
    container_name: django_container
    command: >
      bash -c "python manage.py migrate
      && python manage.py runserver 0.0.0.0:8000"
    depends_on:
      - db

  db:
    image: postgres
    volumes:
      - ./data/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=nukacola
      - POSTGRES_PASSWORD=as938899
    container_name: postgres_db

谢谢你回答我的问题

【问题讨论】:

    标签: django postgresql google-cloud-platform docker-compose google-cloud-run


    【解决方案1】:

    您无法在 Cloud Run 上运行 docker-compose 配置。 Cloud Run 仅支持单个容器。 要在 Cloud Run 上运行 Django 应用,您可以执行以下操作。

    • 使用docker build 命令在本地为 Django 构建 docker 映像。
    • 使用docker push 命令将图像推送到 GCR。
    • 新建一个 Cloud Run 服务并使用新推送的 Docker 镜像。
    • 创建 Cloud SQL Postgres 实例并将其凭据用作 Cloud Run 服务中的环境变量。

    您也可以托管自己的 Compute Engine 实例并在其上运行 docker-compose,但我不建议这样做。

    您还可以创建 GKE 集群并在其中运行 Django 和 Postgres,但它需要 Kubernetes 知识(部署、状态集、服务等)。

    【讨论】:

      猜你喜欢
      • 2020-12-21
      • 1970-01-01
      • 2017-03-06
      • 2020-12-07
      • 2020-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多