バインドマウントされているディレクトリの一覧を確認するには、以下の方法を使用できます。バインドマウントとは、ホストのディレクトリをコンテナのディレクトリに直接マウントする仕組みで、通常のDocker Volumeとは異なります。
1. 特定のコンテナに関するバインドマウント情報を確認
docker inspect
コマンドを使用
コンテナ名を取得します。
docker ps
コンテナの詳細情報を取得します。
docker inspect <container_name_or_id>
出力結果から、Mounts
セクションを確認します。バインドマウントされているディレクトリは以下のように表示されます。
例: 出力の一部
"Mounts": [
{
"Type": "bind",
"Source": "/path/on/host",
"Destination": "/path/in/container",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
]
項目の説明:
Type
: bind
ならバインドマウント。
Source
: ホスト側のディレクトリ。
Destination
: コンテナ内のディレクトリ。
Mode
: 読み取り専用(ro
)または読み書き可能(rw
)。
2. すべてのコンテナに対してバインドマウント情報を表示
Dockerのすべてのコンテナについて、マウントされているディレクトリを簡単に確認するには、以下のコマンドを使用します。
方法1: フィルタをかけて表示
docker inspect -f '{{.Name}}: {{range .Mounts}}{{if eq .Type "bind"}}{{.Source}} -> {{.Destination}}{{"\n"}}{{end}}{{end}}' $(docker ps -q)
出力例:
/container1: /path/on/host -> /path/in/container
/container2: /var/www/html -> /app
方法2: jq を使った整形
jqがインストールされていない場合は、必要に応じてインストールして下さい。
例)環境によりインストール方法は異なります
apt install jq
docker inspect
の結果を jq で整形してバインドマウントだけを抽出します。
docker inspect $(docker ps -q) | jq '.[] | {Name: .Name, Mounts: .Mounts}'
出力例:
{
"Name": "/container1",
"Mounts": [
{
"Type": "bind",
"Source": "/path/on/host",
"Destination": "/path/in/container",
"Mode": "rw",
"RW": true
}
]
}
3. 特定のコンテナのマウント状況を確認
特定のコンテナについてマウントされているディレクトリを一覧で表示します。
方法
docker inspect -f '{{range .Mounts}}{{.Source}} -> {{.Destination}}{{"\n"}}{{end}}' <container_name_or_id>
出力例:
/path/on/host -> /path/in/container
/another/path -> /another/container/path
4. Docker Compose 使用時の確認
Docker Compose を使っている場合、docker-compose.yml
からマウントディレクトリを確認できます。
手動確認
volumes
セクションで設定されているバインドマウントを確認します。
例: docker-compose.yml
services:
app:
image: my-app
volumes:
- /path/on/host:/path/in/container
コマンドで確認
コンテナが稼働中の場合、以下のコマンドで確認します。
docker inspect <container_name_or_id> | grep '"Source\|Destination"'
コメント