我们如何知道docker 挂载了缩主机的哪个目录_docker查看挂载情况
要查看 Docker 容器挂载了宿主机的哪个目录,可以通过以下方法:
1. 使用 docker inspect
查看挂载信息
docker inspect
命令可以查看容器的详细信息,包括挂载的卷(volumes)和绑定挂载(bind mounts)。
(1) 查看容器挂载信息
运行以下命令:
docker inspect
(2) 过滤挂载信息
使用 --format
参数或 jq
工具过滤出挂载信息:
docker inspect --format=\'{{json .Mounts}}\' | jq
输出示例:
[ { \"Type\": \"bind\", \"Source\": \"/host/path\", \"Destination\": \"/container/path\", \"Mode\": \"rw\", \"RW\": true, \"Propagation\": \"rprivate\" }, { \"Type\": \"volume\", \"Name\": \"volume_name\", \"Source\": \"/var/lib/docker/volumes/volume_name/_data\", \"Destination\": \"/container/path\", \"Driver\": \"local\", \"Mode\": \"rw\", \"RW\": true, \"Propagation\": \"\" }]
-
Type
:挂载类型,bind
表示绑定挂载(宿主机目录),volume
表示 Docker 卷。 -
Source
:宿主机目录或卷路径。 -
Destination
:容器内的挂载目标路径。
2. 使用 docker volume inspect
查看卷挂载
如果挂载的是 Docker 卷(volume),可以使用以下命令查看卷的详细信息:
docker volume inspect
输出示例:
[ { \"CreatedAt\": \"2023-10-01T12:00:00Z\", \"Driver\": \"local\", \"Labels\": {}, \"Mountpoint\": \"/var/lib/docker/volumes//_data\", \"Name\": \"\", \"Options\": {}, \"Scope\": \"local\" }]
-
Mountpoint
:卷在宿主机上的实际路径。
3. 使用 docker-compose
的场景
如果使用 Docker Compose 启动容器,可以通过以下方式查看挂载信息:
(1) 查看 Compose 文件
检查 docker-compose.yml
文件中的 volumes
配置:
services: app: volumes: - /host/path:/container/path - volume_name:/container/pathvolumes: volume_name:
/host/path:/container/path
:绑定挂载。
volume_name:/container/path
:Docker 卷挂载。
(2) 查看容器挂载信息
使用 docker-compose
命令查看容器挂载信息:
docker-compose config
4. 总结
-
绑定挂载:通过
docker inspect
查看Source
字段,找到宿主机目录。 -
Docker 卷:通过
docker volume inspect
查看Mountpoint
字段,找到卷在宿主机上的路径。 -
Docker Compose:检查
docker-compose.yml
文件中的volumes
配置。
通过这些方法,你可以轻松查看 Docker 容器挂载的宿主机目录。