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
とサービスに使用している Dockerfile は次のとおりですpostgresdbdata
(これにより、基本的にデータベースが作成され、ユーザーが追加されます)。
FROM postgres
ADD make-db.sh /docker-entrypoint-initdb.d/
サービスの実行が終了した後もデータを保持して、将来使用できるようにするにはどうすればよいですかmain
( のようなものを呼び出す場合などpython manage.py retrieve_from_database
)。/var/lib/postgresql
適切なディレクトリでさえあり、boot2docker
明らかに制限されていることを考えると、それにアクセスできます/Users/
か?
ありがとうございました!