Nesta etapa, você aprenderá como usar templates Go para formatar a saída do comando docker inspect. Isso permite que você extraia informações específicas da saída JSON detalhada e as exiba em um formato personalizado.
Primeiro, vamos executar um contêiner que permanece em execução.
docker run -d --name my-templated-container ubuntu sleep infinity
Agora, vamos inspecionar este contêiner e usar um template Go para exibir apenas seu endereço IP. O endereço IP está localizado dentro do campo NetworkSettings.IPAddress da saída da inspeção.
docker inspect --format '{{.NetworkSettings.IPAddress}}' my-templated-container
Neste comando:
--format '{{.NetworkSettings.IPAddress}}': Esta flag especifica o formato usando um template Go.
{{...}}: Estas chaves duplas denotam uma ação no template Go.
.: Isso representa o objeto raiz sendo inspecionado (o contêiner).
NetworkSettings: Isso acessa o campo NetworkSettings dentro do objeto raiz.
IPAddress: Isso acessa o campo IPAddress dentro do objeto NetworkSettings.
A saída deste comando será apenas o endereço IP do contêiner.
Você pode usar templates Go para extrair várias informações. Por exemplo, para obter o nome e o ID do contêiner:
docker inspect --format 'Name: {{.Name}}, ID: {{.Id}}' my-templated-container
Isso produzirá algo como Name: /my-templated-container, ID: <container_id>.
Os templates Go oferecem recursos de formatação poderosos, incluindo declarações condicionais, loops e funções. No entanto, para este exemplo básico, estamos apenas acessando campos.
Após a inspeção, pare e remova o contêiner.
docker stop my-templated-container
docker rm my-templated-container