docker diff命令教程

docker diff 命令用于比较一个 Docker容器 不同版本提交的文件差异。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。
docker diff命令会列出 3 种容器内文件状态变化(A - Add, D - Delete, C - Change )的列表清单。

docker diff命令语法

[root@localhost ~]# docker diff CONTAINER

案例

列出文件区别

使用 docker run 命令,后台运行一个容器。
[root@localhost ~]# docker run -it —name haicoder -d centos
dae6591dc674fb2f2f0c297dccaf474202770de2c3f26e14713ba63156b3e225

使用 docker diff 命令,查看刚创建的 docker容器文件变化。
[root@localhost ~]# docker diff haicoder

此时,命令行终端显示如下图所示:
Docker diff命令 - 图1
我们看到,容器内部的 /run 目录被修改了,并且在 /run 目录新创建了一个文件 secrets。
使用 docker killdocker rm 命令,删除所有容器。
[root@localhost ~]# docker kill docker ps -qa ; docker rm docker ps -aq

文件没有变化

使用 docker create 命令,创建一个容器。
[root@localhost ~]# docker create -it centos
8aa4a503a4dae352cc92114eff49235ee792c68535b2513649906abce89cc71b

使用 docker diff 命令,查看刚创建的 docker容器文件变化。
[root@localhost ~]# docker diff 8aa4a503a4da

此时,命令行终端显示如下图所示:
image.png
我们看到,容器没有任何修改,因为我们只是创建了容器,并没有运行。
使用 docker kill 和 docker rm 命令,删除所有容器。
[root@localhost ~]# docker kill docker ps -qa ; docker rm docker ps -aq

docker diff命令总结

docker diff 命令用于比较一个 Docker容器不同版本提交的文件差异。
docker diff命令会列出 3 种容器内文件状态变化(A - Add, D - Delete, C - Change )的列表清单。