在 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/docker
bash
sudo systemctl start docker
通过 Docker Desktop 的 GUI 设置调整虚拟磁盘大小或迁移数据。
/var/lib/docker/
下的文件可能导致数据损坏,建议通过 Docker 命令管理。overlay2
、aufs
)会影响镜像的存储结构和性能。如有进一步需求(如清理镜像),可结合 docker system prune
或手动删除无用镜像层。