Что показывает команда docker inspect?

«Что показывает команда docker inspect?» — вопрос из категории Docker, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Что можно узнать:

  • Конфигурация контейнера: Аргументы запуска (Args), точки монтирования (Mounts), переменные окружения (Config.Env), рабочая директория.
  • Сетевые настройки: IP-адрес, привязанные порты, шлюз по умолчанию (NetworkSettings).
  • Состояние: Статус выполнения, время создания, путь к логам (State).
  • Метаданные образа: Автор, хэши слоев, история сборки.

Примеры использования:

  1. Получить IP-адрес контейнера:

    docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' my_container
  2. Проверить примонтированные тома:

    docker inspect --format='{{json .Mounts}}' my_container | jq .
  3. Посмотреть все данные контейнера:

    docker inspect my_container

Ключевой флаг --format позволяет использовать шаблоны Go для извлечения конкретных значений, что критически важно для скриптов.