Как использовать команду docker desktop status для проверки состояния Docker Desktop

DockerDockerBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этой лабораторной работе вы научитесь проверять статус установки Docker Desktop с помощью команды docker info. Мы рассмотрим два различных формата вывода: стандартный удобочитаемый формат и JSON-формат, который идеально подходит для скриптов и автоматизации.

В ходе практических шагов вы выполните команду docker info для получения детальной информации о вашем Docker-окружении, включая количество контейнеров и образов, версию сервера, драйвер хранилища и другие системные конфигурации. Вы увидите, как стандартный формат предоставляет краткий обзор, а JSON-формат позволяет проще обрабатывать информацию о статусе Docker программным способом.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/SystemManagementGroup -.-> docker/info("Display System-Wide Information") subgraph Lab Skills docker/info -.-> lab-555149{{"Как использовать команду docker desktop status для проверки состояния Docker Desktop"}} end

Проверка статуса Docker Desktop с использованием стандартного формата

На этом шаге мы научимся проверять статус Docker-демона с помощью команды docker info в стандартном формате вывода. Команда docker info предоставляет детальную информацию об установке Docker, включая количество контейнеров, образов, драйвер хранилища и другие системные данные.

Сначала откройте терминал в вашей среде LabEx VM. Это можно сделать, нажав на иконку терминала в панели задач или используя комбинацию клавиш Ctrl + Alt + T.

Теперь выполните следующую команду для отображения информации о Docker в стандартном формате:

docker info

Эта команда выведет множество информации о вашем Docker-окружении. Прокрутите вывод, чтобы увидеть такие детали, как версия Docker, количество запущенных и остановленных контейнеров, количество образов, используемый драйвер хранилища и различные системные конфигурации.

Например, в выводе вы увидите строки, похожие на эти:

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 20.10.21
Storage Driver: overlay2
...

Этот стандартный формат полезен для быстрого ознакомления со статусом и конфигурацией Docker-демона.

Проверка статуса Docker Desktop с использованием JSON-формата

На предыдущем шаге мы проверили статус Docker-демона, используя стандартный формат вывода команды docker info. Хотя стандартный формат удобен для чтения человеком, он не идеален для программной обработки. На этом шаге мы научимся получать информацию о Docker в JSON-формате, который гораздо лучше подходит для скриптов и автоматизации.

Для получения вывода в JSON-формате мы можем использовать флаг --format с командой docker info и указать формат как json.

Выполните следующую команду в терминале:

docker info --format '{{json .}}'

Разберём эту команду:

  • docker info: Основная команда для получения системной информации Docker
  • --format '{{json .}}': Этот флаг указывает Docker форматировать вывод. Значение '{{json .}}' использует синтаксис Go-шаблонов. . представляет всю структуру данных, возвращаемую docker info, а {{json .}} форматирует эту структуру как JSON-строку.

После выполнения команды вы увидите ту же информацию, что и ранее, но теперь она будет представлена в виде единого валидного JSON-объекта. Вывод будет выглядеть примерно так (точное содержимое зависит от вашего окружения 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
}

Этот JSON-вывод может быть легко обработан скриптовыми языками или другими инструментами, что делает его очень полезным для автоматизации задач, связанных с Docker.

Итоги

В этой лабораторной работе мы изучили, как проверять статус Docker-демона с помощью команды docker info. Мы рассмотрели два различных формата вывода: стандартный удобочитаемый формат и JSON-формат.

Сначала мы использовали docker info для быстрого просмотра окружения Docker, включая количество контейнеров и образов, версию сервера и драйвер хранилища. Затем мы научились применять флаг --format '{{json .}}' с командой docker info для получения той же информации в структурированном JSON-формате, который лучше подходит для скриптов и автоматизации.