本文档详细介绍了 Dive 如何与 Docker 引擎交互以检索、构建和分析 Docker 容器镜像。Docker 引擎集成允许 Dive 直接从本地 Docker 守护进程访问镜像,从而无需将镜像导出到文件即可进行分析。有关分析 Docker 存档文件的信息,请参阅 Docker 存档处理。
Docker 引擎集成实现了 Dive 的 Resolver 接口,提供了用于获取镜像、构建镜像和从 Docker 守护进程提取内容的方法。
来源: dive/image/docker/engine_resolver.go1-197 dive/image/resolver.go1-15
Docker 引擎解析器实现了 Dive 的 Resolver 接口,提供了与 Docker 交互的能力。
来源: dive/image/docker/engine_resolver.go23-137 dive/image/resolver.go5-14
当 Dive 需要检索 Docker 镜像进行分析时,它会使用 Docker 引擎解析器的 Fetch 方法。
来源: dive/image/docker/engine_resolver.go34-46 dive/image/docker/engine_resolver.go69-137
解析器使用优先顺序来确定要连接的 Docker 主机。
DOCKER_HOST 环境变量(优先级最高)DOCKER_CONTEXT 环境变量指定)为远程 Docker 主机的 SSH 连接提供了特殊处理。
来源: dive/image/docker/engine_resolver.go139-197
Dive 可以使用 Docker 引擎构建 Docker 镜像,然后立即对其进行分析。
docker build 命令。来源: dive/image/docker/build.go17-47 dive/image/docker/build.go60-84 dive/image/docker/engine_resolver.go48-54
Docker 引擎解析器还支持从镜像中提取特定内容。
来源: dive/image/docker/engine_resolver.go56-67
连接 Docker 守护进程时,Dive 会
这确保了与各种 Docker 引擎配置(包括远程 Docker 主机)的兼容性。
来源: dive/image/docker/engine_resolver.go69-107
在 Docker 引擎解析器提供镜像后,Dive 的分析组件会
这使得 Dive 能够在无需特殊导出或准备的情况下,提供对 Docker 镜像的详细洞察。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(788fcd)