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

 

posted on 2023-03-05 09:37  王景迁  阅读(886)  评论(0编辑  收藏  举报

导航