Docker镜像的目录存储讲解

举报
Jerry Wang 发表于 2021/12/05 08:58:41 2021/12/05
【摘要】 我们成功安装完docker后,执行命令行sudo docker run hello-world, 如果是第一次执行,则会从远程拉取hello-world的镜像到本地,然后运行,显示hello world。以ubuntu系统为例,本地镜像存储于目录/var/lib/docker文件夹下:相关目录介绍如下。/var/lib/docker/image/overlay2:存储镜像管理数据的目录,以使...

我们成功安装完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内的内容:

Docker镜像的目录存储讲解

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。