Docker 镜像存储在宿主机的什么位置?

Linux 上先用 docker info 确认存储后端和数据根;经典存储常在 /var/lib/docker,containerd image store 可能另有目录;Mac/Windows 的 Docker Desktop 存在虚拟机磁盘文件里。本文给出各平台位置与迁移方法。

最佳实践
Docker 镜像存储在宿主机的什么位置?封面

快速查询:运行 docker info,输出里的 Docker Root Dir 是Docker daemon数据根目录,但不一定覆盖所有镜像/快照存储(Linux 默认 /var/lib/docker),Storage Driver(旧式经典存储常为overlay2;Engine29新安装可能默认containerd image store)决定分层组织方式。Mac/Windows 的 Docker Desktop 因为跑在虚拟机里,数据在 VM 磁盘文件中(Mac:~/Library/Containers/com.docker.docker/Data/,Windows:C:\ProgramData\DockerDesktop 及 WSL2 的 vhdx)。

Desktop路径取决于版本、后端与用户设置,以下只作常见历史位置线索,应在Desktop设置中确认实际disk image位置。

各平台默认位置

平台 位置
Ubuntu/Debian/Fedora/CentOS /var/lib/docker/
macOS(Docker Desktop) ~/Library/Containers/com.docker.docker/Data/vms/0/(VM 磁盘)
Windows(Docker Desktop) C:\ProgramData\DockerDesktop(WSL2 后端在发行版 vhdx 内)

Linux 经典存储目录结构速览

/var/lib/docker/
├── overlay2/       # 镜像层与容器层(大头)
├── volumes/        # 命名卷数据
├── containers/     # 容器配置与日志(json.log)
├── image/          # 镜像元数据
└── buildkit/       # 构建缓存

提醒:这个目录归 Docker 守护进程管理,结构随版本变化——看可以,du 分析可以,别手动改/删里面任何文件,容易把守护进程搞坏。清理走 docker system prune。

查占用与清理

docker system df          # 各类数据占用汇总
du -sh /var/lib/docker/*  # 目录级占用(需 sudo)
docker system prune -a    # 官方清理姿势

若通过观测云观察磁盘增长,先在 DataKit 磁盘指标中确认 Docker 根目录所在挂载点。空间和 inode 趋势用于发现水位变化;具体是日志、镜像还是卷占用,仍需结合目录与 Docker 命令检查,不能将整块磁盘用量当成单个目录大小。

迁移到大磁盘

/var/lib/docker 撑爆系统盘是常见事故,迁到数据盘:

先确认是否使用containerd image store,其数据目录可能独立于Docker data-root;不要只复制/修改一个路径。备份应用数据并安排停机,停止相关容器、Docker服务及socket激活,确认没有live-restore或其他进程仍写入。再按所用存储驱动和文件系统要求离线迁移、更新data-root及必要的containerd配置,启动后核对镜像、卷、容器与应用,保留旧副本供回退。

/etc/docker/daemon.json 中合并配置(勿覆盖其他字段):

{ "data-root": "/data/docker" }

常见问题(FAQ)

Q:能直接把 /var/lib/docker 拷到另一台机器迁镜像吗?
A:不建议。跨机迁镜像用 docker save/load(见本系列《不用镜像仓库在主机间复制 Docker 镜像》),data-root 目录直拷易出一致性问题。

Q:overlay2 里的 diff 目录就是镜像内容吗?
A:是分层的各层内容,需要联合视图才是完整文件系统;手动翻这个目录意义不大,用 docker image inspect / export 更合适。

Q:Mac 上 VM 磁盘文件几十 G 正常吗?
A:宿主文件的逻辑大小、实际分配空间和VM内部占用不同,释放行为依Desktop版本/后端;按当前设置与文档执行空间回收,重置会删除数据,不是常规压缩办法。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台