Como usar o comando de status do Docker Desktop para verificar o status do Docker Desktop

DockerBeginner
Pratique Agora

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 por docker 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.