私はドッカーに私のプロジェクトを設定しました。私はノンドック時代に使用されていたデータベースを持っていますが、今は私のドッカー作成データベースサービスに接続したいのです。しかし、私がdocker-compose up
と書いたとき - 既存のデータベースは使用されていません - 新しいものが代わりに作成されました(私は疑いがあります、ドッカーのコンテナは単にデータベースを見ません)。ナンセンスなら私に知らせてください。たぶん私はサーバdbをコンテナに移行してみることにします。ここで dockerコンテナからlocalhost postgresデータベースに接続するには?
services:
db:
restart: always
image: postgres:latest
environment:
- POSTGRES_DB=mydb
- [email protected]
- POSTGRES_USER=root
ports:
- "5432:5432"
volumes:
# We'll mount the 'postgres-data' volume into the location Postgres stores it's data:
- postgres-data:/var/lib/postgresql/data
web:
build: .
command: bash -c "python manage.py collectstatic --noinput && ./manage.py migrate && ./run_gunicorn.sh"
volumes:
- .:/code
- /static:/static
ports:
- 443:443
depends_on:
- db
nginx:
restart: always
image: nginx:latest
ports:
- 80:80
volumes:
- ./misc/nginx.conf:/etc/nginx/conf.d/default.conf
- /static:/static
depends_on:
- web
です。そして私はどこが間違っているの?なぜ私のdbエンジンは、永続的なストレージに格納されているdbを表示しません。ドッカーがconfigを作成する様子を見ていただけますか? –
docker-compose.ymlにホストからのフォルダではなく、名前付きデータボリュームをマウントしています:https://docs.docker.com/engine/tutorials/dockervolumes/#data-volumes 代わりに './postgres-data:/ var/lib/postgresql/data'というデータを持つホストフォルダ –