在 Docker 中,下载的镜像默认存储在本地文件系统的特定目录中,具体位置取决于操作系统:
/var/lib/docker/
/var/lib/docker/image/<存储驱动>/overlay2 驱动时,镜像层数据在 /var/lib/docker/overlay2/。/var/lib/docker/image/<存储驱动>/imagedb/。由于 macOS 和 Windows 通过虚拟机运行 Docker,镜像实际存储在虚拟机的文件系统中。
可通过以下方式访问:
bash
docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh/var/lib/docker/(同 Linux)。bash
wsl -d docker-desktop
ls /var/lib/docker/docker-desktop-data WSL2 发行版访问)。命令:docker info
输出中的 Docker Root Dir 显示存储根目录,Storage Driver 显示使用的驱动。
docker info | grep -E 'Docker Root Dir|Storage Driver'
列出镜像层:docker inspect <镜像ID>
查看 GraphDriver.Data 字段中的实际存储路径。
如果需要更改镜像存储位置(例如空间不足时):
bash
sudo systemctl stop docker/etc/docker/daemon.json,添加:
json
{
"data-root": "/new/path/to/docker"
}bash
rsync -a /var/lib/docker/ /new/path/to/dockerbash
sudo systemctl start docker通过 Docker Desktop 的 GUI 设置调整虚拟磁盘大小或迁移数据。
/var/lib/docker/ 下的文件可能导致数据损坏,建议通过 Docker 命令管理。overlay2、aufs)会影响镜像的存储结构和性能。如有进一步需求(如清理镜像),可结合 docker system prune 或手动删除无用镜像层。