使用 docker container diff 检查更新后的文件系统变更
在这最后一步中,我们将再次使用 docker container diff
命令来观察上一步所做的文件系统变更。这将清晰地展示我们在容器内的操作如何反映在其可写层中。
回顾上一步,我们在 my-nginx-container
容器内创建了新文件 /tmp/my_new_file.txt
并修改了 /usr/share/nginx/html/index.html
文件。现在,让我们再次对容器运行 docker container diff
命令。
docker container diff my-nginx-container
这次输出应该包含我们做的变更。你会看到类似以下的内容:
A /tmp/my_new_file.txt
C /usr/share/nginx/html/index.html
A /tmp/my_new_file.txt
这行表示在 /tmp
目录下新增了一个名为 my_new_file.txt
的文件。
C /usr/share/nginx/html/index.html
这行表示 /usr/share/nginx/html/
目录下的 index.html
文件被修改了。
这个输出确认了 docker container diff
能有效显示自容器启动以来对文件系统所做的修改。这些变更存储在容器的可写层中,与基础镜像层是分离的。这是 Docker 分层文件系统的基本概念,也是容器维护其状态的方式。
当容器被删除时,这个可写层也会被移除,除非使用卷 (volumes) 或绑定挂载 (bind mounts) 进行持久化存储(这些内容将在其他实验中探讨)。
要进行清理,你可以停止并删除容器:
docker stop my-nginx-container
docker rm my-nginx-container
至此,我们完成了对 docker container diff
的探索。你已经学会了如何检查容器启动时的初始文件系统变更,以及如何查看在运行中的容器内所做的修改。