【发布时间】:2017-04-05 03:41:31
【问题描述】:
我正在学习 docker 有一个使用 django/postgresql 的工作 docker-compose 实现。一切都按预期工作。我的问题是什么被认为是数据持久性和数据风险的“最佳实践”。
这是我完整的 docker-compose.yml:
version: '2'
services:
db:
image: postgres
volumes:
- postgresql:/var/lib/postgresql
ports:
- "5432:5432"
env_file: .env
web:
build: .
command: python run_server.py
volumes:
- .:/project
ports:
- "8000:8000"
depends_on:
- db
volumes:
postgresql:
run_server.py 脚本只是检查以确保可以连接到数据库,然后运行python manage.py runserver。
所以如果我停止我的容器并重新启动它们,数据仍然存在。我担心的是docker-compose down 命令。此命令删除数据库。这是故意的吗?运行它似乎很容易并且不小心造成很大的损坏。
有没有办法让数据库在这些容器被移除的情况下仍然存在?
【问题讨论】:
标签: django postgresql docker-compose