Docker镜像的目录存储讲解

Posted sap-jerry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker镜像的目录存储讲解相关的知识,希望对你有一定的参考价值。

我们成功安装完docker后,执行命令行sudo docker run hello-world, 如果是第一次执行,则会从远程拉取hello-world的镜像到本地,然后运行,显示hello world。

技术分享图片

以ubuntu系统为例,本地镜像存储于目录/var/lib/docker文件夹下:

技术分享图片

相关目录介绍如下。

/var/lib/docker/image/overlay2:存储镜像管理数据的目录,以使用的存储驱动命名,在我的ubuntu系统上,使用的驱动为overlay2。

技术分享图片

其中repositories.json文件相当于SAP UI5里的manifest.json, 以及nodejs项目中的project.json:

技术分享图片

/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/layerdb: 镜像每个layer的元数据。

技术分享图片

进入sha256,会看到layer的chain ID:

技术分享图片

chain ID内的内容:

技术分享图片

技术分享图片

技术分享图片

技术分享图片

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

技术分享图片

以上是关于Docker镜像的目录存储讲解的主要内容,如果未能解决你的问题,请参考以下文章

云原生Docker镜像详细讲解

Docker镜像存储格式分析

Docker镜像之Docker Compose讲解

Docker镜像管理

CentOS7修改Docker容器和镜像默认存储位置

修改docker镜像的默认存储目录