Introdução
Neste laboratório, você aprenderá como usar o comando docker buildx inspect para visualizar detalhes sobre suas instâncias de construtor Docker (Docker builder). Você começará inspecionando a instância de construtor atual e, em seguida, aprenderá como especificar um construtor por nome.
Você também explorará como garantir que um construtor esteja em execução antes da inspeção usando a flag --bootstrap e como obter informações mais detalhadas com a flag --debug, obtendo uma compreensão abrangente da configuração e do status do seu construtor.
Inspecionar a instância do construtor atual
Nesta etapa, você aprenderá como inspecionar a instância de construtor Docker atual. O construtor Docker é responsável por construir imagens Docker. Ao inspecionar o construtor, você pode obter informações sobre sua configuração e status.
Primeiro, vamos usar o comando docker buildx inspect sem especificar um nome de construtor. Isso inspecionará a instância de construtor atual.
docker buildx inspect
Você deve ver uma saída semelhante a esta, mostrando detalhes sobre a instância de construtor padrão:
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
A saída fornece informações como o nome do construtor, o driver que ele usa (neste caso, docker) e detalhes sobre os nós de construção, incluindo seu status, versão do BuildKitd e plataformas suportadas.
Inspecionar uma instância de construtor específica por nome
Na etapa anterior, você inspecionou a instância de construtor atual. Nesta etapa, você aprenderá como inspecionar uma instância de construtor específica por seu nome. Embora você possa ter apenas o construtor padrão inicialmente, saber como especificar um nome é útil quando você tem vários construtores configurados.
Para inspecionar uma instância de construtor específica, você usa o comando docker buildx inspect seguido pelo nome do construtor. O construtor padrão é normalmente chamado de default.
Vamos inspecionar o construtor default explicitamente por nome:
docker buildx inspect default
Você deve ver a mesma saída da etapa anterior, confirmando que você está inspecionando a instância de construtor 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
Isso demonstra como direcionar uma instância de construtor específica para inspeção usando seu nome.
Certifique-se de que o construtor está em execução antes de inspecionar com --bootstrap
Nesta etapa, você aprenderá como usar a flag --bootstrap com docker buildx inspect. A flag --bootstrap garante que a instância do construtor esteja em execução antes de tentar inspecioná-la. Se o construtor não estiver em execução, esta flag o iniciará.
Embora o construtor padrão geralmente esteja em execução, é uma boa prática usar --bootstrap quando você deseja garantir que o construtor esteja ativo antes da inspeção ou outras operações de construção.
Vamos inspecionar o construtor padrão novamente, desta vez usando a flag --bootstrap:
docker buildx inspect --bootstrap default
Você deve ver a mesma saída de inspeção de antes. A flag --bootstrap garante que o construtor esteja em um estado de execução antes que a inspeção seja realizada. Se o construtor tivesse sido parado, este comando o teria iniciado primeiro.
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
Usar --bootstrap é particularmente útil em scripts ou fluxos de trabalho automatizados onde você precisa garantir que o construtor esteja pronto antes de prosseguir com uma construção.
Visualizar informações detalhadas com --debug
Nesta etapa final, você aprenderá como obter informações mais detalhadas sobre uma instância de construtor usando a flag --debug com docker buildx inspect. A flag --debug fornece uma saída adicional que pode ser útil para solucionar problemas ou entender a configuração do construtor com mais profundidade.
Vamos inspecionar o construtor padrão novamente, desta vez incluindo a flag --debug:
docker buildx inspect --debug default
Você verá a saída de inspeção padrão, mas ela será precedida por logs de depuração (debug). Esses logs fornecem insights sobre as operações internas do comando buildx inspect e a comunicação com o daemon BuildKit.
A saída de depuração incluirá linhas começando com DEBU[... seguido por informações detalhadas sobre o processo. Isso pode incluir coisas como chamadas de API sendo feitas, carregamento de configuração e outros funcionamentos 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
A flag --debug é uma ferramenta poderosa para diagnosticar problemas ou obter uma compreensão mais profunda de como docker buildx interage com o serviço BuildKit subjacente.
Resumo
Neste laboratório, você aprendeu como usar o comando docker buildx inspect para visualizar detalhes sobre as instâncias do construtor Docker. Você começou inspecionando a instância do construtor atual sem especificar um nome, o que normalmente mostra informações sobre o construtor padrão. Em seguida, você aprendeu como inspecionar explicitamente uma instância de construtor específica fornecendo seu nome, confirmando que isso produz os mesmos detalhes para o construtor padrão.
Essas etapas demonstraram o uso básico de docker buildx inspect para obter informações sobre seu ambiente de construção Docker, incluindo o nome do construtor, driver, status do nó, versão do BuildKitd e plataformas suportadas.



