docker存储目录
1 目录结构
docker存储目录是/var/lib/docker。
2 image目录
image/overlay2/distribution: 从远端拉到本地的镜像相关元数据
image/overlay2/imagedb: 镜像数据库
image/overlay2/layerdb: 镜像每层的元数据
image/overlay2/layerdb/mounts:每个容器ID等信息
image/overlay2/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