在 Docker 中,容器内部的文件系统路径取决于容器运行时状态和存储驱动类型。以下是关键信息整理:
/app, /var/www 等)。bash
docker exec -it <容器名或ID> /bin/sh
# 或
docker exec -it <容器名或ID> ls /path/in/container容器文件实际存储在宿主机上,路径由存储驱动决定:
/var/lib/docker/<存储驱动>/<容器ID>/overlay2(现代默认驱动):/var/lib/docker/overlay2/<容器ID>/aufs:/var/lib/docker/aufs/devicemapper:/var/lib/docker/devicemapper/bash
docker inspect --format='{{.Id}}' <容器名>sudo):
bash
sudo ls /var/lib/docker/overlay2/<容器ID>/merged
merged 目录包含容器内所有文件的联合挂载视图。如果文件存储在数据卷中,路径不同:
- 查看卷的宿主机路径:
bash
docker inspect -f '{{ .Mounts }}' <容器名>
输出示例:
[{volume my_volume /var/lib/docker/volumes/my_volume/_data /app local true }]
宿主机路径为 /var/lib/docker/volumes/my_volume/_data。
/var/lib/docker 中,但删除容器后文件会被清除。-v 或 --mount 参数)。\\wsl$\docker-desktop-data\data\docker\overlay2\<容器ID>\bash
screen ~/Library/Containers/com.docker.docker/Data/vms/0/ttydocker exec -it <容器名> shdocker inspect + 存储驱动目录。volumes 或 bind mounts。如有进一步场景需求(如特定存储驱动或操作系统),可提供更多细节以便精准定位。