时间:2021-05-19
Docker基础信息
首先,先查询Docker使用的后端存储。使用命令docker info,主要关注Storage Driver相关的部分。
$ docker info...Server Version: 1.12.6Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 84 Dirperm1 Supported: true...由上可见,Docker的版本是1.12.6。使用的后端存储是aufs文件系统,并且其根目录是/var/lib/docker/aufs。
Docker镜像信息
列出所有Docker镜像
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZEubuntu latest 0ef2e08ed3fa 6 weeks ago 130 MB可以看出,现在的环境中,只有一个镜像,其IMAGE ID为0ef2e08ed3fa。
Docker镜像详细信息
使用docker inspect [docker IMAGE ID]命令可以查询镜像的详细信息,.RootFS.Layers部分可以看出该镜像总共包含五层,不过从Docker v1.10之后,子镜像ID并不与根目录中的文件名或目录名一致。
layer目录
layer中镜像ID对应的是一个文件,文件的内容是就是该镜像的祖先镜像列表,
$ ls -l /var/lib/docker/aufs/layerstotal 16-rw-r--r-- 1 root root 65 Apr 10 20:38 0970941dc3951f04f21bbbac1180b300006a22a970d4a04c269ac9de34e1bd47-rw-r--r-- 1 root root 130 Apr 10 20:38 312d24c768f671045eabed1415a2ffc67dadea4e59b88c37bd2366a2f5b0fad9-rw-r--r-- 1 root root 195 Apr 10 20:38 8317eee16b68c1620b59e38208d903e9f8f06e2b5f9cc29089eae373bfe491ce-rw-r--r-- 1 root root 0 Apr 10 20:37 d2adfba71f24c5c409df4abef47f3caf4861f37b822f9ea3ed945f61e9aef77f-rw-r--r-- 1 root root 260 Apr 10 20:38 eef7e551d5f8eaf2a7f1c54effef0f28a97978be3e79a2a7dd30f1962071c981由于环境中只有一个Docker镜像,那么根据该目录下文件的大小,就可以得出大小最大的文件就对应Docker镜像中最上层的子镜像(因为其父镜像最多)。
$ cat /var/lib/docker/aufs/layers/eef7e551d5f8eaf2a7f1c54effef0f28a97978be3e79a2a7dd30f1962071c9818317eee16b68c1620b59e38208d903e9f8f06e2b5f9cc29089eae373bfe491ce312d24c768f671045eabed1415a2ffc67dadea4e59b88c37bd2366a2f5b0fad90970941dc3951f04f21bbbac1180b300006a22a970d4a04c269ac9de34e1bd47d2adfba71f24c5c409df4abef47f3caf4861f37b822f9ea3ed945f61e9aef77fdiff目录
diff目录中,包含了五个子目录,对应了Docker镜像的五个子镜像。每个目录中,包含了子镜像存储的真实文件和目录。
$ ls -l /var/lib/docker/aufs/diff/eef7e551d5f8eaf2a7f1c54effef0f28a97978be3e79a2a7dd30f1962071c981total 4drwxr-xr-x 3 root root 4096 Feb 28 03:41 run在上面示例种的子镜像层中,只有一个run的目录。
mnt目录
mnt目录中,也包含了五个子目录,对应了Docker镜像的五个子镜像。
当使用该镜像创建一个容器后,在该层又会多出容器对应的层,以及该容器的init层。
运行中的容器映射在 /var/lib/docker/aufs/mnt/<container-id>下,这就是AUFS给容器和它下层layer的一个mount point。如果容器没有运行了,依然还有这个目录,但却是个空目录,因为AUFS只在容器运行时才映射。除此之外,还有一个<container-id>-init的目录,表示init层。Docker 1.10之上的版本,目录名同样不和容器ID对应。
容器的可写层存储在目录 /var/lib/docker/aufs/diff/,即使容器停止了,容器对应的目录依然存在。只有删除容器时,对应的目录才会删除。
以上所述是小编给大家介绍的Docker aufs存储驱动layer、diff、mnt目录的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、Why?通常,当你开始使用docker时,我们并不太关心Docker用于存储镜像和容器的默认目录。当使用Docker进行更多实验时,Docker开始占用大量
一、概述 docker中的镜像采用分层构建设计,每个层可以称之为“layer”,这些layer被存放在了/var/lib/docker
1.存放在/var/lib/Docker2.repositories-aufs文件:{"Repositories":{"hello-world":{"lates
HTC手机AndroidPhone驱动及安装教程图文详解,本文为你提供HTC安卓所有机型的驱动文件,以及驱动文件的安装方法,分别介绍xp系统下和vista/wi
无意中感觉磁盘空间不够用,于是使用df-a命令查看,结果令人大吃一惊,全是docker干的好事,在/var/lib/docker/aufs里生成了一堆垃圾:da