docker存储目录
1 目录结构
docker存储目录是/var/lib/docker。

2 image目录

image/overlay2/distribution: 从远端拉到本地的镜像相关元数据
image/overlay2/imagedb: 镜像数据库(下面content/sha256存放了所有以镜像sha256值命名的文件,对应docker images看到的镜像列表,镜像id是镜像sha256值前12位,文件中记录了镜像分层信息,该sha256不是docker pull展示的digest部分)
image/overlay2/layerdb: 镜像每层的元数据
image/overlay2/layerdb/mounts:每个容器ID等信息
image/overlay2/repositories.json: 镜像的相关信息(docker启动时报错Couldn't create reference store repository,说明repositories.json存在问题)
3 containers目录
docker logs只能记录输出到终端的内容,不显示输出到文件的内容。
Docker容器里应用日志默认保存在宿主机的/var/lib/docker/containers/容器ID/容器ID-json.log文件里。
4 overlay2目录
容器启动后创建修改删除内容会保存在UpperDir目录下。
docker inspect 容器id | grep -i upperdir
容器运行过程中MergedDir是联合挂载目录即容器内用户看到的系统文件。
5 overlay联合挂载
mount -t overlay -o [mount options] overlayfs [mountpoint for merged system]
[mount options]
lowerdir = somedir:只读。
upperdir = somedir:可读写,覆盖lowerdir,反映创建修改删除。
workdir = somedir:工作目录,对用户不可见,存放临时文件。
ro/rw
联合挂载示例
mkdir /run/test-lower /run/test-upper /run/test-work
mount -t overlay overlay -o lowerdir=/run/test-lower,upperdir=/run/test-upper,workdir=/run/test-work /run/mnt
umount /run/mnt
联合只读挂载(/run/mnt目录只读)
mount -t overlay overlay -o lowerdir=/run/test-lower,upperdir=/run/test-upper,ro,workdir=/run/test-work /run/mnt
浙公网安备 33010602011771号