【发布时间】:2021-08-01 07:32:36
【问题描述】:
我的 Django 项目结构如下:
myapp/
manage.py
Dockerfile
docker-compose.yml
my-database1.sql
my-database2.sql
requirements.txt
pgadmin/
pgadmin-data/
myapp/
__init__.py
settings.py
urls.py
wsgi.py
这是我的docker-compose.yml 文件:
version: "3.9"
services:
db:
image: postgres
volumes:
- ./data/db:/var/lib/postgresql/data
- ./my-database1.sql:/docker-entrypoint-initdb.d/my-database1.sql
- ./my-database2.sql:/docker-entrypoint-initdb.d/my-database2.sql
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- PGDATA=/var/lib/postgresql/data
pgadmin:
image: dpage/pgadmin4:4.18
restart: unless-stopped
environment:
- PGADMIN_DEFAULT_EMAIL=admin@domain.com
- PGADMIN_DEFAULT_PASSWORD=admin
- PGADMIN_LISTEN_PORT=80
ports:
- "8090:80"
volumes:
- ./pgadmin-data:/var/lib/pgadmin
links:
- "db:pgsql-server"
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
volumes:
db-data:
pgadmin-data:
我的应用存在三个问题:
1 - 如何将我的 my-database1.sql 和 my-database2.sql 数据库导入 postgresql?我的代码中的解决方案(我的意思是./my-database1.sql:/docker-entrypoint-initdb.d/my-database1.sql)不起作用。
2 - 从上一步成功导入数据库后,我如何在 pgadmin 中看到它们?
3 - 我的代码应该在 my-database1.sql 的表中写入一些内容。导入postgresql后应该如何连接?
【问题讨论】:
标签: python django postgresql docker-compose pgadmin