欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker镜像的目录存储讲解 dockerlinuxdocument虚拟化镜像 

程序员文章站 2022-05-31 22:43:55
...

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

相关目录介绍如下。

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

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

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

chain ID内的内容:

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 
Docker镜像的目录存储讲解
 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 
 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 
 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像 

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

 
Docker镜像的目录存储讲解
            
    
    
        dockerlinuxdocument虚拟化镜像