Docker

Актуальное поведение

INFRAX открывает Docker как виртуальный узел под хостом с установленным агентом. Из этой страницы и из общей панели действий в дереве можно запускать контейнеры, поднимать существующий Docker Compose проект, создавать новый compose-файл, очищать образы и переключать режимы Плитки и Таблица.

Обзор

Раздел Docker собирает управление контейнерами, образами, сетями и томами на одном узле. Когда Docker доступен, верхняя карточка показывает название Docker, версию, общее число контейнеров и число запущенных контейнеров. Отдельной строки Docker установлен в ней нет.

Что видно в интерфейсе

  • Контейнеры - карточки и таблица для одиночных контейнеров и Docker Compose проектов.
  • Сети - имя, ID, драйвер, область, подсети и флаги IPv6/Internal.
  • Образы - репозиторий, тег, размер, дата создания и операции очистки.
  • Тома - имя, драйвер, область и точка монтирования.

Режимы отображения

Для каждой вкладки можно выбрать режим Плитки или Таблица. Выбор сохраняется отдельно для каждой вкладки и восстанавливается при следующем открытии.

Требования

Для работы с Docker в INFRAX нужны следующие условия:

Основные требования

  • Docker должен быть установлен на узле - Docker Engine или Docker Desktop.
  • На узле должен быть установлен агент INFRAX - именно через него backend опрашивает Docker.
  • Узел должен быть доступен по сети - Docker читается только через подключенный хост.
  • Для открытия консоли контейнера нужен SSH - кнопка Подключиться к консоли появляется только когда на узле есть SSH-сервис.
Важное замечание

Если Docker раньше обнаруживался, но сейчас недоступен, страница покажет состояние Docker недоступен. Обычно это означает, что служба Docker остановлена или на узле произошла ошибка.

Обнаружение Docker

INFRAX проверяет наличие Docker автоматически после открытия узла с агентом. Если сервис доступен, под хостом появляется виртуальный Docker-узел.

Как проходит проверка

  1. Платформа запрашивает статус Docker на узле.
  2. Если Docker найден, сохраняется версия и список контейнеров.
  3. В дереве узлов появляется виртуальный Docker-узел.
  4. Информация кэшируется, чтобы быстро показывать состояние Docker недоступен, если сервис пропал позже.

Состояния

  • Docker не установлен - Docker не найден на узле.
  • Docker недоступен - Docker был найден ранее, но сейчас не отвечает.
  • Docker доступен - в верхней карточке показаны версия и счетчики контейнеров.

Интерфейс

После открытия Docker-узла показывается вкладка Контейнеры. Остальные вкладки доступны в той же панели: Сети, Образы и Тома.

Общая панель действий

  • Запустить контейнер - открывает форму запуска нового контейнера.
  • Запустить существующий compose - запускает проект по пути к файлу Docker Compose или его каталогу.
  • Создать новый compose - открывает мастер создания нового файла.
  • Очистить dangling - удаляет промежуточные образы без тегов.
  • Очистить все неиспользуемые - удаляет образы, которые не связаны с контейнерами.
  • Плитки / Таблица - переключает представление активной вкладки.

Как выглядят вкладки

  • Во вкладке Контейнеры группы формируются по Docker Compose проектам и по одиночным контейнерам.
  • Над списком каждой вкладки стоит поиск. Он сужает список по мере набора и работает в обоих режимах; столбцы таблицы сортируются нажатием на заголовок.
  • В плиточном режиме карточки показывают основные свойства сразу, без дополнительной навигации.

Контейнеры

Во вкладке Контейнеры видны все контейнеры узла. Одиночные контейнеры показываются в группе Отдельные контейнеры, а контейнеры Docker Compose собираются по проектам.

Что показывает карточка контейнера

  • Имя контейнера и образ, из которого он запущен.
  • Статус - Запущен или Остановлен.
  • IP адрес и Порты для сетевого доступа.
  • CPU, RAM, Network I/O и Disk I/O для запущенных контейнеров.
  • Время работы, Процессы, Перезапуски и Health, если статистика доступна.

Доступные действия

  • Запустить - для остановленного контейнера.
  • Остановить - для запущенного контейнера.
  • Перезапустить - для запущенного контейнера.
  • Удалить - с подтверждением.
  • Подключиться к консоли - только для запущенных контейнеров и только если на узле доступен SSH.

Детальная карточка контейнера

Клик по контейнеру открывает модальное окно Информация о контейнере. В нём есть вкладки Информация и Логи.

  • Вкладка Информация показывает имя, ID, state, status, image, ports, IP address и данные Docker Compose.
  • Вкладка Логи умеет показывать 50, 100, 200, 500, 1000 строк или все логи.
  • В логах есть обновление, пауза, возобновление и загрузка файла.

Образы

Во вкладке Образы можно просматривать Docker images, удалять один образ или несколько выбранных, а также запускать очистку dangling и неиспользуемых образов.

Что видно в списке

  • Репозиторий и тег.
  • Размер и Дата создания.
  • Поиск над списком ищет по репозиторию, тегу, размеру и идентификатору.
  • В таблице есть множественный выбор для массового удаления.

Действия

  • Удалить образ - удаляет выбранный image после подтверждения.
  • Удалить выбранные - массовое удаление через чекбоксы таблицы.
  • Очистить dangling - удаляет промежуточные слои без тегов.
  • Очистить все неиспользуемые - более полная очистка образов, не связанных с контейнерами.
Удаление образов

Образ нельзя удалить, если он используется хотя бы одним контейнером. Сначала нужно остановить и убрать все контейнеры, которые на него ссылаются.

Сети

Во вкладке Сети показан список Docker networks. Это режим просмотра, без создания и удаления сетей из этой страницы.

Информация о сети

  • Имя и ID.
  • Driver и Scope.
  • Подсети с gateway и IP Range, если они заданы.
  • IPv6 и Internal флаги.

Детали сети

Клик по строке или карточке открывает модальное окно Информация о сети. Там можно скопировать ID сети и посмотреть подсети. Сеть не редактируется и не удаляется отсюда.

Тома

Во вкладке Тома отображаются Docker volumes. Как и в сетях, это режим просмотра и детального изучения, без удаления томов со страницы.

Что видно в списке

  • Название тома.
  • Драйвер и Область.
  • Точка монтирования - отдельный столбец списка. В строке путь сокращается в середине, потому что у тома с драйвером local он состоит из служебного каталога и того же имени; целиком путь виден в подсказке, попадает в буфер обмена кнопкой рядом и участвует в поиске. В карточке тома путь напечатан целиком.
  • Поиск над списком ищет по имени, драйверу, области и mountpoint.

Детали тома

Отдельного окна тома нет — строка списка ничего не открывает. Имя, драйвер, область и точка монтирования стоят прямо в строке, а кнопка рядом с путём (подсказка Скопировать точку монтирования) кладёт весь путь в буфер обмена. На узком экране то же самое показывает карточка тома.

Docker Compose

INFRAX группирует контейнеры по полю com.docker.compose.project и показывает проект как отдельный блок. Для Compose-проекта видны имя, число контейнеров, число запущенных контейнеров, путь к конфигурации и статус.

Команды проекта

Команда Что делает Нужен config path
up Запускает проект. Да
start Запускает проект, когда compose-файл не найден. Нет
stop Останавливает контейнеры проекта. Нет
restart Перезапускает контейнеры проекта. Нет
down Останавливает и удаляет контейнеры и сеть проекта. Нет
pull Обновляет образы проекта. Да

Работа с проектом

  • Кнопка Информация о проекте открывает модальное окно с перечнем контейнеров.
  • Если путь к конфигу известен, доступна кнопка Редактировать файл.
  • Если docker-compose.yml не найден, INFRAX показывает предупреждение и оставляет только базовые операции.
  • Одиночный запуск существующего проекта открывает форму Запустить существующий compose.
  • Создание нового compose-файла открывает мастер с шаблонами Базовый, Web приложение, База данных и Пустой.

Редактор compose-файла

Файл можно открыть, отредактировать и сохранить прямо из интерфейса. Редактор показывает путь к файлу, сам YAML и работает с конфигурацией на удалённом узле.

Мониторинг

Для запущенных контейнеров INFRAX подтягивает статистику и показывает ее в карточках и в окне подробностей.

Метрики контейнера

  • CPU
  • RAM
  • Network I/O
  • Disk I/O
  • Uptime
  • Processes
  • Restarts
  • Health
Только для запущенных контейнеров

Метрики, uptime и health показываются только тогда, когда контейнер в состоянии Запущен. Для остановленных контейнеров статистика не выводится.

Логи контейнера

  • Вкладка Логи в модальном окне контейнера.
  • Выбор числа строк: 50, 100, 200, 500, 1000 или все строки.
  • Обновление, пауза и возобновление автоподгрузки.
  • Скачивание логов в файл.

Рекомендации

Для контейнеров и Compose

  • Группируйте связанные сервисы в Docker Compose проект.
  • Храните compose-файлы в системе контроля версий.
  • Используйте понятные имена контейнеров и томов.

Для обслуживания

  • Регулярно очищайте dangling и неиспользуемые образы.
  • Следите за CPU и RAM в карточках контейнеров.
  • Проверяйте логи и health, если контейнер ведет себя нестабильно.

Для данных

  • Для важных данных используйте named volumes.
  • Следите за точками монтирования, если тома нужно резервировать отдельно.
  • Перед удалением образа или контейнера проверяйте, не используется ли он другими сервисами.