← Назад ко всем вопросам

Что показывает docker inspect

1️⃣ Как кратко ответить

docker inspect предоставляет детальную информацию о Docker объектах, таких как контейнеры, образы, сети и тома, в формате JSON. Это включает метаданные, конфигурации, состояния и другие параметры, которые помогают в диагностике и управлении Docker средой.

2️⃣ Подробное объяснение темы

docker inspect — это команда в Docker, которая используется для получения подробной информации о различных Docker объектах. Эти объекты могут включать контейнеры, образы, сети и тома. Команда возвращает данные в формате JSON, что делает их легко читаемыми и пригодными для автоматической обработки.

Зачем это нужно

  • Диагностика и отладка: Позволяет получить полную картину о состоянии и конфигурации контейнера или другого объекта, что полезно для диагностики проблем.
  • Автоматизация: JSON-формат удобен для использования в скриптах и автоматизированных системах, где требуется извлечение и анализ данных.
  • Управление конфигурацией: Позволяет проверить, как именно настроен объект, и убедиться, что он соответствует ожидаемым параметрам.

Где применяется

  • Разработка и тестирование: Разработчики могут использовать docker inspect для проверки конфигурации контейнеров и образов.
  • Производственные среды: Администраторы могут использовать команду для мониторинга и управления контейнерами в продакшене.
  • CI/CD процессы: В автоматизированных пайплайнах для проверки состояния и конфигурации объектов перед развертыванием.

Как работает

Команда docker inspect может быть использована с различными типами объектов. Например, для контейнера:

docker inspect <container_id_or_name>

Пример вывода и объяснение

Рассмотрим пример вывода команды docker inspect для контейнера:

[
  {
    "Id": "e90e34656806",
    "Created": "2023-10-01T12:34:56.789Z",
    "Path": "/bin/sh",
    "Args": [
      "-c",
      "echo hello world"
    ],
    "State": {
      "Status": "running",
      "Running": true,
      "Paused": false,
      "Restarting": false,
      "OOMKilled": false,
      "Dead": false,
      "Pid": 12345,
      "ExitCode": 0,
      "Error": "",
      "StartedAt": "2023-10-01T12:35:00.123Z",
      "FinishedAt": "0001-01-01T00:00:00Z"
    },
    "Image": "sha256:abc123...",
    "Name": "/my_container",
    "HostConfig": {
      "NetworkMode": "default"
    },
    "Config": {
      "Hostname": "e90e34656806",
      "Env": [
        "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
      ],
      "Cmd": [
        "/bin/sh",
        "-c",
        "echo hello world"
      ],
      "Image": "my_image:latest"
    },
    "NetworkSettings": {
      "IPAddress": "172.17.0.2",
      "MacAddress": "02:42:ac:11:00:02"
    }
  }
]
  • Id: Уникальный идентификатор контейнера.
  • Created: Время создания контейнера.
  • Path и Args: Команда и аргументы, которые выполняются при запуске контейнера.
  • State: Текущее состояние контейнера, включая статус, идентификатор процесса (PID), и коды завершения.
  • Image: Хэш образа, на основе которого был создан контейнер.
  • Name: Имя контейнера.
  • HostConfig: Конфигурация хоста, например, режим сети.
  • Config: Конфигурация контейнера, включая переменные окружения и команду запуска.
  • NetworkSettings: Сетевые настройки, такие как IP-адрес и MAC-адрес.

Эти данные позволяют получить полное представление о том, как контейнер был создан и как он функционирует в данный момент.

Тема: Docker / Контейнеры
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки