目录
本次以Centos7.4版本为例,本地镜像的存储目录:/var/lib/docker/
[root@localhost ~]#cd /var/lib/docker
containers 【里面都是容器,每启动一个容器便会在这里记录】
- image 【默认里面只有一个overlay2目录】
/var/lib/docker/image/overlay2/【存储镜像管理数据的目录,以使用的存储驱动命名,这是Centos系统,使用的驱动为overlay2】
network【docker的网关、容器的IP地址等信息】
- overlay2【Docker存储驱动,常见的有overlay、overlay2、aufs】
每启动一个容器就会有一个docker存储挂载,如上所示,他们是共用宿主机的存储,也就是这些docker存储的挂载除了挂载点不一样其他的都一样。下面是关于存储挂载的测试:
[root@localhost ~]#dd if=/dev/zero of=/root/qq bs=1M count=5000
【生成5G 的qq测试文件】
[root@localhost ~]#docker cp /root/qq bc391cabe426://test1【cp到容器里】
所有容器都共用一个存储,当一个容器有数据变化,那么连接容器的所有存储的挂载信息都会更新产生变化。
volumes【卷管理】
/var/lib/docker/image/overlay2/imagedb/content:
每一个镜像都会配置digest,也就是镜像ID。Content目录里会看到一个sha256的目录,进入到该目录下,看到都是以镜像ID命名的文件,docker images看到的镜像ID的前12位就来自这个文件。
/var/lib/docker/image/overlay2/imagedb/metadata:(略)
/var/lib/docker/image/overlay2/layerdb/mounts:
每启动一个容器,该目录都会将容器的container ID记录下来,当容器被停止了,container ID依旧存在,当容器被删除了,container ID才会被清除。
/var/lib/docker/image/overlay2/layerdb/sha256:
只记录镜像的信息,不记录容器的信息,当镜像有添加或删除时,此目录的信息会有更新
记录了镜像的tag、镜像ID等信息