跳转到主要内容

Docker、容器、rootfs和虚拟机相关的软件组成分析(SCA)实用工具。

项目描述

container-inspector 是一套用于Docker镜像、容器、根文件系统和虚拟机镜像的分析实用工具和命令行工具。

对于Docker镜像,它可以处理层以及它们之间的关系以及Dockerfile。

container-inspector 提供了以下实用工具:

  • 在文件系统中识别 Docker 镜像、其层和相关元数据。

  • 给定一个 Docker 镜像,收集并报告其元数据。

  • 给定一个 Docker 镜像,提取用于重新构建运行时根文件系统的层。

  • 查找和解析 Dockerfile。

  • 查找 Dockerfile 与实际镜像及其层之间的关系。

  • 给定一个 Docker 镜像、根文件系统或虚拟机镜像,收集镜像、层或根文件系统中安装的软件包和文件的清单(通过提供的可调用函数实现)

  • 使用 os-release 文件检测根文件系统或镜像的“发行版”(并为此提供了广泛的测试套件)

  • 检测操作系统、架构和

快速入门

  • 仅在 POSIX 操作系统上运行

  • 获取 Python 3.6+

  • 检出 container-inspector 的克隆或下载,然后运行:./configure –dev

  • 然后运行 env/bin/container-inspector -h 以获取帮助。

容器镜像格式

container-inspector 处理由 docker save 命令创建的 Docker 镜像格式。该格式有三个版本。最新的 v1.2 是对 v1.1 的小更新。

  • v1.1 相比 v1.0 提供了改进和更丰富的元数据,包括顶层 manifest.json 文件和每个镜像的 Config 文件,其中包含完整的层历史和顺序。它还使用校验和来增强图像和层的可追溯性和安全性。

  • v1.0 使用简单的 repositories 元数据文件,并需要根据每个单独的层 json 元数据文件推断图像中层的顺序。此格式在 container-inspector 的最新版本中不再支持。

  • 所有 V1.x 格式使用相同的层存储格式,例如 V1.0 层格式,其中每个层都存储在以层 ID 命名的子目录中。每个目录都包含一个“layer.tar” tarball,其中包含层的有效负载,一个描述层的“json” JSON 元数据文件和一个描述层格式版本的“VERSION”文件。每个 tarball 代表使用 AUFS 约束的图像根文件系统的一个切片或差异。

在运行时,在一个图像的层序列中,每个层的根文件系统切片通过联合文件系统(例如 AUFS)从底部根层叠加到最新层(或选定的标记层)。

有关图像规范,请参阅 docs/references/

内部数据模型

  • 图像:这是一个由元数据和一系列层组成的可运行图像。

  • 层:这是包含有效负载和元数据的图像根文件系统的一个切片。

  • 资源:这是一个文件或目录。

计划

  • 进行中:支持 OCI 图像布局

  • 改进对 Windows 容器的支持

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解有关 安装软件包 的更多信息。

源分布

container_inspector-33.0.0.tar.gz (212.5 kB 查看哈希)

上传于 来源

构建的发行版

container_inspector-33.0.0-py3-none-any.whl (40.2 kB 查看哈希值)

上传于 Python 3

支持