本文档涵盖了使用 dive 分析 Docker 和 OCI 容器镜像所需的基本命令和选项。它解释了如何使用不同的镜像源调用 dive、基本命令格式以及常见的用法模式。有关安装 dive 的信息,请参阅 安装。有关 CI 集成,请参阅 CI 集成。
使用 dive 的最简单方法是提供镜像名称或 ID
例如
此命令将使用默认的 Docker 引擎作为镜像源来分析指定的镜像。
来源: README.md13-16
Dive 支持多种镜像源,可以通过 --source 选项或 URI 风格的前缀来指定。
| 来源 | 描述 | 可用性 |
|---|---|---|
| docker | Docker 引擎(默认) | 所有平台 |
| podman | Podman 容器引擎 | 仅限 Linux |
| docker-archive | 来自磁盘的 Docker tar 归档文件 | 所有平台 |
来源: README.md80-93 dive/get_image_resolver.go12-25
下面是使用 dive 时的基本命令流程图
来源: README.md13-25 README.md80-93 dive/get_image_resolver.go62-73
下图展示了 dive 如何从不同来源解析和获取镜像
来源: dive/get_image_resolver.go27-73 dive/image/docker/archive_resolver.go13-33
Dive 可以构建 Docker 镜像并立即对其进行分析
此命令将替换您常规的 docker build 命令。所有标准的 Docker 构建参数都得到支持。
在 macOS 上,当使用 Docker 容器引擎时,您可以使用
来源: README.md27-41
您可以直接运行 dive 与 Docker
运行时,包含 Docker 套接字文件
您也可以创建一个方便的别名
来源: README.md18-25 README.md198-216
根据您的 Docker 版本或是否使用备用运行时,您可能需要指定 Docker API 版本或主机
来源: README.md219-233
在 CI 模式下运行 dive(跳过 UI)
这将分析镜像,并根据您 .dive-ci 配置文件中定义的效率指标,返回一个通过/失败的退出码。
来源: README.md43-48
在分析镜像时,dive 提供以下核心功能
来源: README.md52-64
这是最常见的 dive 用法模式的总结
| 命令模式 | 描述 |
|---|---|
dive <image-name> | 使用默认的 Docker 引擎分析镜像 |
dive --source podman <image-name> | 使用 Podman 引擎分析 |
dive --source docker-archive image.tar | 分析 Docker 归档文件 |
dive docker-archive://image.tar | 使用 URI 表示法分析 Docker 归档文件 |
dive build -t <tag> . | 一步构建和分析镜像 |
CI=true dive <image-name> | 在 CI 模式下运行分析(无 UI) |
来源: README.md13-46 README.md80-93
加载 dive 界面后,您可以浏览不同的视图并探索镜像。有关键盘快捷键和导航控件的完整列表,请参阅 按键绑定和导航。
来源: README.md255-278