Ответ
Команда docker inspect возвращает низкоуровневую информацию об объектах Docker (контейнеры, образы, тома, сети) в формате JSON. Это основной инструмент для отладки и автоматизации.
Что можно узнать:
- Конфигурация контейнера: Аргументы запуска (
Args), точки монтирования (Mounts), переменные окружения (Config.Env), рабочая директория. - Сетевые настройки: IP-адрес, привязанные порты, шлюз по умолчанию (
NetworkSettings). - Состояние: Статус выполнения, время создания, путь к логам (
State). - Метаданные образа: Автор, хэши слоев, история сборки.
Примеры использования:
-
Получить IP-адрес контейнера:
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' my_container -
Проверить примонтированные тома:
docker inspect --format='{{json .Mounts}}' my_container | jq . -
Посмотреть все данные контейнера:
docker inspect my_container
Ключевой флаг --format позволяет использовать шаблоны Go для извлечения конкретных значений, что критически важно для скриптов.