Docker 撰写到云端 运行

Docker Compose to Cloud Run

我创建了一个 docker 包含 django 应用程序和 postgresql 的组合文件,它 运行 非常完美。然后我很困惑是否可以将此 docker 组合文件部署到 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

谢谢你回答我的问题

您不能 运行 在云 运行 上 docker-compose 配置。 Cloud 运行 仅支持单个容器。 要 运行 您在云 运行 上的 Django 应用程序,您可以执行以下操作。

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

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

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