【发布时间】:2023-03-29 15:04:01
【问题描述】:
我有一个在 docker 容器中运行的应用程序和在 docker 容器中运行的 psql 数据库。我想在 django 容器中转储数据库,我知道 django 中有 dumpdata 但此命令需要很长时间,我也尝试过 docker exec pg_dump 但在 django 容器中此命令不起作用。
services:
db_postgres:
image: postgres:10.5-alpine
restart: always
volumes:
- pgdata_invivo:/var/lib/postgresql/data/
env_file:
- .env
django:
build: .
restart: always
volumes:
- ./static:/static
- ./media:/media
ports:
- 8000:8000
depends_on:
- db_postgres
env_file:
- .env
在 django 容器中,有什么方法可以在不使用 docker exec pg_dump 的情况下执行 pg_dump 吗?
【问题讨论】:
-
为什么不在 postgres 容器中运行
pg_dump?docker compose exec db_postgres pg_dump <schema> > dump_file -
是的,但我需要在 django 应用程序中完成
-
@dev-beginer 好吧,你可以在你的 django 应用容器中安装
postgresql-client。但是,有什么特别的理由可以从应用容器中执行此操作吗? -
我想在 django admin 中转储数据库,因为我需要在 django 容器中运行 pg_dump
标签: django postgresql docker-container