Cómo usar el comando docker buildx inspect para ver detalles del constructor

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás a utilizar el comando docker buildx inspect para ver detalles sobre tus instancias de constructor (builder) de Docker. Comenzarás inspeccionando la instancia de constructor actual, luego aprenderás cómo especificar un constructor por nombre.

También explorarás cómo asegurarte de que un constructor esté en ejecución antes de la inspección usando la bandera --bootstrap y cómo obtener información más detallada con la bandera --debug, obteniendo así una comprensión integral de la configuración y el estado de tu constructor.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/inspect -.-> lab-555059{{"Cómo usar el comando docker buildx inspect para ver detalles del constructor"}} docker/build -.-> lab-555059{{"Cómo usar el comando docker buildx inspect para ver detalles del constructor"}} end

Inspeccionar la instancia de constructor actual

En este paso, aprenderás cómo inspeccionar la instancia actual del constructor (builder) de Docker. El constructor de Docker es responsable de construir imágenes de Docker. Al inspeccionar el constructor, puedes obtener información sobre su configuración y estado.

Primero, usemos el comando docker buildx inspect sin especificar un nombre de constructor. Esto inspeccionará la instancia de constructor actual.

docker buildx inspect

Deberías ver una salida similar a esta, que muestra detalles sobre la instancia de constructor predeterminada:

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

La salida proporciona información como el nombre del constructor, el controlador que utiliza (en este caso, docker), y detalles sobre los nodos de construcción, incluyendo su estado, versión de BuildKitd y plataformas soportadas.

Inspeccionar una instancia de constructor específica por nombre

En el paso anterior, inspeccionaste la instancia de constructor actual. En este paso, aprenderás cómo inspeccionar una instancia de constructor específica mediante su nombre. Aunque inicialmente solo tengas el constructor predeterminado, es útil saber cómo especificar un nombre cuando tienes múltiples constructores configurados.

Para inspeccionar una instancia de constructor específica, utiliza el comando docker buildx inspect seguido del nombre del constructor. El constructor predeterminado normalmente se llama default.

Inspeccionemos explícitamente el constructor default por su nombre:

docker buildx inspect default

Deberías ver la misma salida que en el paso anterior, confirmando que estás inspeccionando la instancia del constructor 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

Esto demuestra cómo seleccionar una instancia de constructor específica para su inspección utilizando su nombre.

Asegurar que el constructor esté en ejecución antes de inspeccionar con --bootstrap

En este paso, aprenderás a usar la bandera --bootstrap con docker buildx inspect. La bandera --bootstrap garantiza que la instancia del constructor esté en ejecución antes de intentar inspeccionarla. Si el constructor no está en funcionamiento, esta bandera lo iniciará.

Aunque el constructor predeterminado normalmente está en ejecución, es una buena práctica usar --bootstrap cuando deseas asegurarte de que el constructor esté activo antes de la inspección u otras operaciones de construcción.

Inspeccionemos nuevamente el constructor predeterminado, esta vez usando la bandera --bootstrap:

docker buildx inspect --bootstrap default

Deberías ver la misma salida de inspección que antes. La bandera --bootstrap garantiza que el constructor esté en estado de ejecución antes de realizar la inspección. Si el constructor hubiera estado detenido, este comando lo habría iniciado primero.

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

El uso de --bootstrap es particularmente útil en scripts o flujos de trabajo automatizados donde necesitas asegurarte de que el constructor esté listo antes de proceder con una construcción.

Ver información detallada con --debug

En este paso final, aprenderás cómo obtener información más detallada sobre una instancia de constructor usando la bandera --debug con docker buildx inspect. La bandera --debug proporciona salida adicional que puede ser útil para solucionar problemas o entender la configuración del constructor con mayor profundidad.

Inspeccionemos nuevamente el constructor predeterminado, esta vez incluyendo la bandera --debug:

docker buildx inspect --debug default

Verás la salida estándar de inspección, pero precedida por registros de depuración. Estos registros proporcionan información sobre las operaciones internas del comando buildx inspect y la comunicación con el demonio BuildKit.

La salida de depuración incluirá líneas que comienzan con DEBU[... seguidas de información detallada sobre el proceso. Esto puede incluir llamadas API realizadas, carga de configuración y otros funcionamientos internos.

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

La bandera --debug es una herramienta poderosa para diagnosticar problemas u obtener un entendimiento más profundo de cómo docker buildx interactúa con el servicio subyacente BuildKit.

Resumen

En este laboratorio, aprendiste a usar el comando docker buildx inspect para ver detalles sobre las instancias de constructores de Docker. Comenzaste inspeccionando la instancia del constructor actual sin especificar un nombre, lo que normalmente muestra información sobre el constructor predeterminado. Luego aprendiste cómo inspeccionar explícitamente una instancia específica del constructor proporcionando su nombre, confirmando que esto proporciona los mismos detalles para el constructor predeterminado.

Estos pasos demostraron el uso básico de docker buildx inspect para obtener información sobre tu entorno de construcción de Docker, incluyendo el nombre del constructor, el controlador (driver), el estado de los nodos, la versión de BuildKitd y las plataformas soportadas.