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

Docker镜像的目录存储讲解

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

Docker镜像的目录存储讲解

相关目录介绍如下。

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

Docker镜像的目录存储讲解

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

Docker镜像的目录存储讲解

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

Docker镜像的目录存储讲解

/var/lib/docker/image/overlay2/imagedb:镜像数据库

Docker镜像的目录存储讲解

/var/lib/docker/image/overlay2/imagedb/content:

每镜像层次的配置digest,也就是镜像ID。content文件夹里能看到一个sha256子文件夹。

Docker镜像的目录存储讲解

进入该子文件夹,会看到一个以镜像ID命名的文件,我们用命令行docker images看到的镜像ID的前12位就来自这个文件。

Docker镜像的目录存储讲解

/var/lib/docker/image/overlay2/layerdb: 镜像每个layer的元数据。

Docker镜像的目录存储讲解

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

Docker镜像的目录存储讲解

chain ID内的内容:

Docker镜像的目录存储讲解

Docker镜像的目录存储讲解

Docker镜像的目录存储讲解

Docker镜像的目录存储讲解

相关文章:

  • 2021-06-30
  • 2021-09-18
  • 2021-05-31
  • 2021-10-26
  • 2022-12-23
  • 2021-11-25
  • 2021-09-26
  • 2021-12-13
猜你喜欢
  • 2021-05-08
  • 2022-01-04
  • 2021-10-09
  • 2021-11-16
  • 2021-04-24
相关资源
相似解决方案