docker之数据目录分析
/var/lib/docker/ 在 Linux 下是 Docker 的默认数据根目录(Docker Root Dir),也就是 Docker 用来存储所有容器、镜像、卷、网络等数据的地方。
1. 目录结构概览
假设默认安装在 Linux 上 /var/lib/docker,典型目录:
/var/lib/docker/
├── aufs # 如果使用 AUFS 存储驱动,会有容器镜像层
├── overlay2 # overlay2 存储驱动的容器镜像层
├── containers # 存放所有容器的具体数据(日志、挂载卷等)
├── volumes # 存放命名卷的数据
├── image # 存放镜像元数据
├── network # 存放 Docker 网络相关数据
├── swarm # 如果启用 swarm 模式
├── plugins # Docker 插件数据
├── tmp # 临时文件
└── builder # 构建缓存
2. 关键说明
| 子目录 | 作用 |
|---|---|
containers/ | 每个容器的元数据和日志 |
volumes/ | 命名卷的数据,卷名目录下 _data 就是卷里内容 |
image/ | 存放镜像元数据和层 |
overlay2/ | 容器文件系统层(overlayFS 驱动) |
network/ | 网络配置和状态 |
plugins/ | 插件数据 |
3. 特性
- 由 Docker 管理:不要随意直接修改里面的内容,尤其是卷、镜像和容器数据。
- 可以通过 Docker 命令访问:例如
docker volume inspect、docker container ls等,不必直接操作/var/lib/docker/。 - 可以更改默认路径:在
dockerd配置中设置--data-root=/my/docker-data。
✅ 总结:
/var/lib/docker/ 就是 Docker 在 Linux 上的 数据根目录,所有容器、卷、镜像、网络和日志都存放在这里。
