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(部署、状态集、服务等)。
我创建了一个 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(部署、状态集、服务等)。