悟夜叉个人博客 其他分类 Docker文件存储与配置信息分析

Docker文件存储与配置信息分析

支撑Docker环境的镜像、容器和数据卷等要素及其配置信息都以一定规则存储在宿主机文件系统中,在了解它们的存储机制后,取证人员可以有的放矢地进行调查取证,按需求对特定容器的相关数据信息进行固定和保全。

Docker的默认工作目录位于/var/lib/docker,其中包含于用来构建Docker容器所需的文件系统环境的重要目录和文件,如图1所示。

Docker镜像存储机制

在Docker的工作根目录中,graph目录(/var/lib/docker/graph)存储所有镜像的描述文件。对于每一个镜像层,graph目录中都有json和layersize两个文件,其中json文件记录了相应 Docker镜像的ID、依赖关系、创建时间和配置信息等;layersize则记录Docker镜像的大小。镜像本身的完整数据则保存在/var/lin/docker/aufs/diff目录的相应目录(相同ID)下。

Docker容器存储机制

Docker中各容器的配置信息存放在/var/lib/docker/containers/路径下,这些配置信息包含了一个容器的所有元数据,各配置文件及其内容如表1所示。

Docker工作根目录中/var/lib/docker/linkgraph. db是记录GraphDB的文件,GraphDB是一个构建在SQLite之上的图形数据库,Docker deamon使用GraphDB记录它所维护的所有容器以及它们之间的link关系。GraphDB能够为调用者提供节点增加、删除、遍历、连接和查询等操作,这里的节点就是一个容器,而节点间的边就是一个Docker link关系。每启动一个容器,GraphDB中将会添加一个节点,当某个容器被设置了link操作时,在 GraphDB中就会为其创建一个父子关系(即一条边)。

Docker数据卷存储机制

Docker数据卷(volume)是为了在容器与宿主机之间、容器与容器之间共享和持久化保存文件和文件夹而引入的机制。当从容器中某个文件夹创建volume时,volume的ID目录被收录在/var/lib/docker/volume路径下,这意味着容器挂载文件夹中的任何变化会直接反映到宿主机/var/lib/docker/volume/[container -ID]/_data路径下,同时这种反映是双向的。当容器从宿主机某个路径挂在volume时,则容器与宿主机挂载点的路径是由容器创建者指定,这时可以使用docker inspect -f { {.Volume} } container-ID命令,从命令输出中定位容器与宿主机挂载点的对应关系。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

站长QQ/VX:82794

在线咨询: QQ交谈

邮箱: 82794@qq.com

任何技术问题请联系QQ,非特殊行业请勿加微信!龙信小伙伴请联系微信群找我。
关注微信
非商务合作请勿添加

非商务合作请勿添加微信

返回顶部