我的docker-compose
文件中有一个使用postgres
' 图像的主要服务,虽然我似乎成功连接到数据库,但我写入它的数据并没有保存在容器的生命周期之外(我所做的是基于本教程)。
这是我的docker-compose
文件:
main:
build: .
volumes:
- .:/code
links:
- postgresdb
command: python manage.py insert_into_database
environment:
- DEBUG=true
postgresdb:
build: utils/sql/
volumes_from:
- postgresdbdata
ports:
- "5432"
environment:
- DEBUG=true
postgresdbdata:
build: utils/sql/
volumes:
- /var/lib/postgresql
command: true
environment:
- DEBUG=true
这是我用于postgresdb
和postgresdbdata
服务的 Dockerfile(它本质上创建了数据库并添加了一个用户):
FROM postgres
ADD make-db.sh /docker-entrypoint-initdb.d/
如何在main
服务完成运行后保留数据,以便将来能够使用它(例如当我调用类似的东西时python manage.py retrieve_from_database
)?甚至是/var/lib/postgresql
正确的目录,并且可以boot2docker
访问它,因为它显然仅限于/Users/
?
谢谢!