2

私は単純な小さな問題を抱えています。アプリ (ASPNET Core) とデータベース (Postgres) があります。最初に db のコンテナーを実行してから、アプリ コンテナーを実行して、アプリが実行時に db を検出できるようにします。これで、pgAdmin ツール (Windows の場合) を使用して Postgres データベースに接続でき、すべて正常に動作します。

次に、次のようなデータ ボリューム コマンドを使用して Postgres コンテナーを実行するとします。

docker run -p 5432:5432 -d -v pg-data:/var/lib/postgresql/data --network=isolated_network --name postgres -e POSTGRES_PASSWORD=5432 postgres

ここでは、コンテナーで実行されている Postgres インスタンスに接続でき、そこでデータを取得できます。ここでpg-data、ホストのどこでデータ ボリュームを使用できるかという質問があります。

さらに、Windows ディレクトリを Docker Engine にマウントし、次のコマンドを実行すると:

docker run -p 5432:5432 -d -v d:/data:/var/lib/postgresql/data --network=isolated_network --name postgres -e POSTGRES_PASSWORD=5432 postgres

ドライブにdataフォルダーが表示されD:\ますが、pgAdmin ツールを使用して Postgres コンテナーのこのインスタンスに接続できず、アプリが動作しなくなります。

4

1 に答える 1

0

Linux では、ボリュームのデフォルトの場所は次のとおりです。

/var/lib/docker/volumes

Windowsの場合はわかりません。ただし、パスと必要なすべての詳細を提供するコンテナーを検査できます。

docker inspect containername
于 2016-10-04T10:40:09.670 に答える