Introdução
Neste laboratório, você aprenderá como verificar o status da sua instalação do Docker Desktop usando o comando docker info. Exploraremos dois formatos de saída diferentes: o formato padrão legível por humanos e o formato JSON, que é ideal para scripting e automação.
Através de passos práticos, você executará o comando docker info para obter informações detalhadas sobre seu ambiente Docker, incluindo contagens de containers e imagens, versão do servidor, driver de armazenamento e outras configurações do sistema. Você verá como o formato padrão fornece uma visão geral rápida e como o formato JSON permite um processamento programático mais fácil das informações de status do Docker.
Verificar o status do Docker Desktop usando o formato padrão
Nesta etapa, aprenderemos como verificar o status do daemon Docker usando o comando docker info com o formato de saída padrão. O comando docker info fornece informações detalhadas sobre a instalação do Docker, incluindo o número de containers, imagens, driver de armazenamento e outras informações em nível de sistema.
Primeiro, abra o terminal no seu ambiente de VM LabEx. Você pode fazer isso clicando no ícone do terminal na barra de tarefas ou pressionando Ctrl + Alt + T.
Agora, execute o seguinte comando para exibir as informações do Docker no formato padrão:
docker info
Este comando exibirá muitas informações sobre seu ambiente Docker. Percorra a saída para ver detalhes como a versão do Docker, o número de containers em execução e parados, o número de imagens, o driver de armazenamento em uso e várias configurações do sistema.
Por exemplo, você deve ver linhas semelhantes a estas na saída:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 20.10.21
Storage Driver: overlay2
...
Este formato padrão é útil para uma visão geral rápida do status e da configuração do daemon Docker.
Verificar o status do Docker Desktop usando o formato JSON
Na etapa anterior, verificamos o status do daemon Docker usando o formato de saída padrão do docker info. Embora o formato padrão seja fácil de ler para humanos, ele não é ideal para processamento programático. Nesta etapa, aprenderemos como obter as informações do Docker em formato JSON, que é muito mais adequado para scripting e automação.
Para obter a saída em formato JSON, podemos usar a flag --format com o comando docker info e especificar o formato como json.
Execute o seguinte comando no seu terminal:
docker info --format '{{json .}}'
Vamos detalhar este comando:
docker info: Este é o comando base para obter informações do sistema Docker.--format '{{json .}}': Esta flag diz ao Docker para formatar a saída. O valor'{{json .}}'usa a sintaxe de template do Go..representa toda a estrutura de dados retornada pordocker info, e{{json .}}formata essa estrutura como uma string JSON.
Após executar o comando, você verá as mesmas informações de antes, mas desta vez elas serão apresentadas como um único objeto JSON válido. A saída será algo parecido com isto (o conteúdo exato variará com base no seu ambiente Docker):
{
"ID": "...",
"Containers": 0,
"ContainersRunning": 0,
"ContainersPaused": 0,
"ContainersStopped": 0,
"Images": 0,
"Driver": "overlay2",
"SystemStatus": null,
"Plugins": {
"Volume": ["local"],
"Network": ["bridge", "host", "ipvlan", "macvlan", "null", "overlay"],
"Authorization": null,
"Log": [
"awslogs",
"fluentd",
"gcplogs",
"gelf",
"journald",
"json-file",
"local",
"logentries",
"splunk",
"syslog"
]
},
"MemoryLimit": true,
"SwapLimit": true,
"KernelMemory": true,
"CpuCfsPeriod": true,
"CpuCfsQuota": true,
"CpuShares": true,
"CpuSet": true,
"PidsLimit": true,
"OomKillDisable": true,
"IPv4Forwarding": true,
"BridgeNfIptables": true,
"BridgeNfIp6tables": true,
"Debug": false,
"NFd": -1,
"OomScoreAdj": -1,
"Goroutines": -1,
"SystemTime": "...",
"LoggingDriver": "json-file",
"CgroupDriver": "cgroupfs",
"CgroupVersion": "1",
"NEventsListener": -1,
"KernelVersion": "...",
"OperatingSystem": "...",
"OSType": "linux",
"Architecture": "x86_64",
"IndexServerAddress": "https://index.docker.io/v1/",
"RegistryConfig": {
"AllowNondistributableArtifactsAfterDate": "2020-12-25T00:00:00Z",
"InsecureRegistryCIDRs": ["127.0.0.0/8"],
"IndexConfigs": {
"docker.io": {
"Name": "docker.io",
"Mirrors": [],
"Secure": true,
"Official": true
}
},
"Mirrors": []
},
"NCPU": -1,
"MemTotal": -1,
"GenericResources": null,
"DockerRootDir": "/var/lib/docker",
"HttpProxy": "",
"HttpsProxy": "",
"NoProxy": "",
"ExperimentalBuild": false,
"LiveRestoreEnabled": false,
"Runtimes": { "runc": { "path": "runc" } },
"DefaultRuntime": "runc",
"Swarm": {
"NodeID": "",
"LocalNodeState": "inactive",
"ControlAvailable": false,
"Error": "",
"RemoteManagers": null
},
"ContainerdCommit": { "ID": "...", "Expected": "..." },
"RuncCommit": { "ID": "...", "Expected": "..." },
"InitCommit": { "ID": "...", "Expected": "..." },
"SecurityOptions": ["apparmor", "seccomp"],
"ProductLicense": "",
"DefaultAddressPools": null,
"Warnings": null
}
Esta saída JSON pode ser facilmente analisada por linguagens de scripting ou outras ferramentas, tornando-a muito útil para automatizar tarefas relacionadas ao Docker.
Resumo
Neste laboratório, aprendemos como verificar o status do daemon Docker usando o comando docker info. Exploramos dois formatos de saída diferentes: o formato padrão legível por humanos e o formato JSON.
Primeiro, usamos docker info para obter uma visão geral rápida do ambiente Docker, incluindo contagens de containers e imagens, versão do servidor e driver de armazenamento. Em seguida, aprendemos como usar a flag --format '{{json .}}' com docker info para obter as mesmas informações em um formato JSON estruturado, que é mais adequado para scripting e automação.



