14 查错 #
14.1 使用 container-diff 分析容器映像 #
如果在 SLE 基本容器映像基础上构建的自定义 Docker 开源引擎容器映像无法按预期方式工作,container-diff 工具可帮助您分析该映像并收集用于查错的相关信息。
container-diff可以分析映像的变化,具体方式是计算映像之间的差异并以直观易懂且可处理的格式呈现差异。该工具可以找出系统软件包、语言级软件包和容器映像中文件的差异。
container-diff可以处理本地容器映像(使用前缀 daemon://
)、远程注册表中的映像(使用前缀 remote://
),以及另存为 .tar
存档的映像。可以使用 container-diff 来计算映像的本地版本与远程版本之间的差异。
要安装 container-diff,请运行 sudo zypper in container-diff
命令。
14.1.1 基本 container-diff 命令 #
container-diff analyze IMAGE
命令针对单个映像运行标准分析。它默认会返回容器映像的哈希和大小。如需可帮助您识别和修复问题的详细信息,请使用特定的分析器。使用 --type
参数指定所需的分析器。两个最有用的分析器是 history
(返回映像层创建说明列表)和 file
(返回文件系统内容的列表,包括名称、路径和大小):
>
sudo container-diff analyze --type=history daemon://IMAGE>
sudo container-diff analyze --type=file daemon://IMAGE
要查看所有可用参数及其简要说明,请运行 container-diff analyze --help
命令。
使用 container-diff diff
命令可以比较两个容器映像并检查两者的差异。与 container-diff analyze
命令类似,container-diff diff
支持多个参数。下面的示例命令会比较两个映像,并返回有关如何基于 IMAGE_1 创建了 IMAGE_2 的说明列表。
>
sudo container-diff diff daemon://IMAGE_1 daemon://IMAGE_2 --type=history
要查看所有可用参数及其简要说明,请运行 container-diff diff --help
命令。