简介
在本实验中,你将学习如何使用 docker buildx inspect
命令查看 Docker 构建器实例的详细信息。首先你将检查当前的构建器实例,然后学习如何通过名称指定构建器。
你还将探索如何在检查前使用 --bootstrap
标志确保构建器正在运行,以及如何通过 --debug
标志获取更详细的信息,从而全面了解构建器的配置和状态。
在本实验中,你将学习如何使用 docker buildx inspect
命令查看 Docker 构建器实例的详细信息。首先你将检查当前的构建器实例,然后学习如何通过名称指定构建器。
你还将探索如何在检查前使用 --bootstrap
标志确保构建器正在运行,以及如何通过 --debug
标志获取更详细的信息,从而全面了解构建器的配置和状态。
在本步骤中,你将学习如何检查当前的 Docker 构建器实例。Docker 构建器负责构建 Docker 镜像。通过检查构建器,你可以获取其配置和状态的相关信息。
首先,让我们使用不带构建器名称参数的 docker buildx inspect
命令来检查当前构建器实例。
docker buildx inspect
你将看到类似以下的输出,显示默认构建器实例的详细信息:
Name: default
Driver: docker
Nodes:
default:
Status: running
Buildkitd:
Version: v0.10.5
Platforms:
- linux/amd64
- linux/arm64
- linux/riscv64
- linux/ppc64le
- linux/s390x
- linux/386
- linux/arm/v7
- linux/arm/v6
输出信息包含构建器名称、使用的驱动(本例中为 docker
),以及构建节点的详细信息,包括节点状态、BuildKitd 版本和支持的平台架构。
在上一步中,你检查了当前的构建器实例。本步骤将教你如何通过名称检查特定的构建器实例。虽然初始时你可能只有默认构建器,但当配置了多个构建器时,了解如何指定名称就很有用了。
要检查特定的构建器实例,你需要使用 docker buildx inspect
命令后跟构建器名称。默认构建器通常命名为 default
。
让我们通过名称显式检查 default
构建器:
docker buildx inspect default
你应该会看到与上一步相同的输出,确认你正在检查 default
构建器实例:
Name: default
Driver: docker
Nodes:
default:
Status: running
Buildkitd:
Version: v0.10.5
Platforms:
- linux/amd64
- linux/arm64
- linux/riscv64
- linux/ppc64le
- linux/s390x
- linux/386
- linux/arm/v7
- linux/arm/v6
这演示了如何使用构建器名称来指定特定实例进行检查。
在本步骤中,你将学习如何在 docker buildx inspect
命令中使用 --bootstrap
参数。该参数能确保在执行检查前构建器实例处于运行状态。如果构建器未运行,此参数会先启动它。
虽然默认构建器通常处于运行状态,但在需要确保构建器处于活动状态后再进行检查或其他构建操作时,使用 --bootstrap
参数是一个良好的实践。
让我们再次检查默认构建器,这次加上 --bootstrap
参数:
docker buildx inspect --bootstrap default
你将看到与之前相同的检查输出。--bootstrap
参数确保在执行检查前构建器处于运行状态。如果构建器原本处于停止状态,该命令会先启动它。
Name: default
Driver: docker
Nodes:
default:
Status: running
Buildkitd:
Version: v0.10.5
Platforms:
- linux/amd64
- linux/arm64
- linux/riscv64
- linux/ppc64le
- linux/s390x
- linux/386
- linux/arm/v7
- linux/arm/v6
在脚本或自动化工作流中,--bootstrap
参数特别有用,它能确保在开始构建前构建器已准备就绪。
在最后这个步骤中,你将学习如何通过 docker buildx inspect
命令的 --debug
参数获取构建器实例的更详细信息。该参数会提供额外的输出内容,对于故障排查或深入了解构建器配置非常有帮助。
让我们再次检查默认构建器,这次加上 --debug
参数:
docker buildx inspect --debug default
你将看到标准的检查输出,但前面会附加调试日志。这些日志能让你了解 buildx inspect
命令的内部操作以及与 BuildKit 守护进程的通信情况。
调试输出会包含以 DEBU[...
开头的行,后面跟着关于进程的详细信息。这些信息可能包括 API 调用、配置加载以及其他内部操作。
DEBU[0000] loading config file /home/labex/.docker/config.json
DEBU[0000] Looking for builder "default"
DEBU[0000] found builder "default"
DEBU[0000] loading builder "default"
DEBU[0000] found 1 node(s) for builder "default"
DEBU[0000] loading node "default"
DEBU[0000] connecting to docker
DEBU[0000] running buildkitd container "buildx_buildkit_default"
DEBU[0000] buildkitd container "buildx_buildkit_default" is running
DEBU[0000] connecting to buildkitd
DEBU[0000] buildkitd connection successful
Name: default
Driver: docker
Nodes:
default:
Status: running
Buildkitd:
Version: v0.10.5
Platforms:
- linux/amd64
- linux/arm64
- linux/riscv64
- linux/ppc64le
- linux/s390x
- linux/386
- linux/arm/v7
- linux/arm/v6
--debug
参数是一个强大的工具,既能用于诊断问题,也能帮助你更深入地理解 docker buildx
如何与底层的 BuildKit 服务进行交互。
在本实验中,你学习了如何使用 docker buildx inspect
命令查看 Docker 构建器实例的详细信息。首先,你通过不指定名称的方式检查了当前构建器实例,这通常会显示默认构建器的信息。接着,你学习了如何通过提供名称来显式检查特定构建器实例,确认这种方式同样可以获取默认构建器的详细信息。
这些步骤展示了 docker buildx inspect
命令的基本用法,帮助你了解 Docker 构建环境的关键信息,包括构建器名称、驱动程序、节点状态、BuildKitd 版本以及支持的平台架构。