查询镜像文件有哪些变动的方法

查询镜像文件有哪些变动的方法

 

依据

首先,我们知道docker 的文件系统使用的是overlay2,这种文件系统有个特性就是:上下层合并方式,下层为只读层,上层为修改层。当上层与下层出现相同文件时,合并层只能看到上层的内容,下层的形同文件会被丢弃。
注意:这里的相同文件,指的是全路径名称一直的文件,不关心其内部内容是否一致。

处理方式

使用 docker inspect 命令查看镜像详细信息

docker inspect 2a4fa895acdc
显示内容
notion image

寻找 一级Key GraphDriver 的内容

notion image
红框所示

其中 data 就是文件系统的不同层

  • LowerDir : 下层
  • UpperDir: 上层

切换至 上层目录 查询对比的文件

cd /data/docker/overlay2/cb7fde35c8ac7892d0cd50f3331d0cbf21b75b8e732e4f6f49d6a992abb7e01f/diff

查看内容

ls
输出结果
notion image

结束

这样就拿到差异文件了