识别Docker镜像(或应用程序依赖项)中包含的文件

我目前正在使用Docker运行一个项目,我有这个问题。 是否有任何可能的方式,你可以知道什么是一个泊坞窗图像中包含的确切文件,而无需运行该图像?

以不同的方式,我将Docker容器调度到基于它们使用的二进制文件/库的云上运行,以便将具有公共相关性(具有常见二进制文件和库)的容器安排在同一主机上运行,​​从而共享这些依赖关系在主机操作系统上。 有没有一种可能的方法来确定依赖/做到这一点?

您可以在每个图层上运行docker diff来查看添加了哪些文件。 这不是很简洁,但应该是完整的。

或者,您的发行版和编程语言可能有帮助确定哪些依赖关系已被添加的工具。 例如,Python用户可以检查pip freeze的输出,Debian用户可以检查dpkg --get-selections的输出来检查已经安装了哪些系统软件包。