docker存储目录详解

2022年7月2日08:15:49

目录

1、docker存储目录下各子目录详解

2、image目录详解


本次以Centos7.4版本为例,本地镜像的存储目录:/var/lib/docker/

1、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【卷管理】

2、image目录详解

  • /var/lib/docker/image/overlay2/distribution:从远端拉到本地的镜像相关元数据
  • /var/lib/docker/image/overlay2/imagedb:镜像数据库

/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:镜像每个layer的元数据,Layer  层,分层

        /var/lib/docker/image/overlay2/layerdb/mounts

每启动一个容器,该目录都会将容器的container ID记录下来,当容器被停止了,container ID依旧存在,当容器被删除了,container ID才会被清除。

        /var/lib/docker/image/overlay2/layerdb/sha256

只记录镜像的信息,不记录容器的信息,当镜像有添加或删除时,此目录的信息会有更新

  • /var/lib/docker/image/overlay2/repositories.json:镜像的相关信息

        记录了镜像的tag、镜像ID等信息

  • 作者:weixin_44250083
  • 原文链接:https://blog.csdn.net/weixin_44250083/article/details/119713466
    更新时间:2022年7月2日08:15:49 ,共 1326 字。