Skip to content
Эта страница переведена с помощью ИИ и может содержать неточности. Помогите улучшить перевод на GitHub.

Управление Docker ​

Gately управляет контейнерами, Compose-проектами, образами, сетями и томами хоста через сокет Docker. Раздел открывается в боковой панели пунктом «Docker» и состоит из шести вкладок: «Контейнеры», «Compose», «Образы», «Сети», «Тома» и «Система». Если подключиться к Docker не удаётся, вверху страницы отображаются подробности ошибки и кнопка быстрого перехода к настройкам.

Включение ​

Если Gately работает в контейнере, примонтируйте сокет Docker хоста:

bash
-v /var/run/docker.sock:/var/run/docker.sock

Адрес Docker по умолчанию — unix:///var/run/docker.sock; его можно изменить в настройках на вкладке «Система».

Безопасность

Монтирование docker.sock равносильно выдаче прав root на хосте. Если управление Docker не нужно, уберите этот том и защитите панель управления (двухфакторная аутентификация, секретный путь входа, доступ только из внутренней сети).

Контейнеры ​

  • Список фильтруется по состоянию («Все», «Запущенные», «Остановленные»); на карточке показаны образ, сети, порты, монтирования и статус обновления;
  • Действия: запуск, остановка, перезапуск, приостановка, возобновление, принудительное завершение, переименование, удаление (с возможностью удалить анонимные тома), создание образа из контейнера;
  • Самозащита: Gately распознаёт собственный контейнер и проект Compose и отклоняет операции, которые отрезали бы доступ к нему самому: остановку, принудительное завершение, паузу и удаление контейнера, а также down для его проекта.
  • Создание и редактирование: форма охватывает имя, образ (можно предварительно загрузить), запуск после создания, команду и Entrypoint, переменные окружения, проброс портов (TCP/UDP, с возможностью указать IP хоста), монтирования (каталог bind и том volume, в том числе только для чтения), основную и дополнительные сети, фиксированный IP, алиасы, политику перезапуска (no, always, unless-stopped, on-failure с максимальным числом попыток), привилегированный режим, добавление и удаление capabilities, проброс устройств, пользователя, рабочий каталог, имя хоста, DNS, метки, лимит памяти (МБ), число ядер CPU, TTY и удержание stdin. При редактировании контейнер пересоздаётся на основе исходной конфигурации: параметры, которых нет в форме, сохраняют прежние значения, а при неудаче происходит автоматический откат;
  • Вкладки на странице сведений:
    • Обзор: состояние, код выхода, число перезапусков, состояние здоровья, сведения о сетях, монтирования, Compose-проект и сервис, к которым относится контейнер;
    • Журналы: просмотр последних записей, с возможностью показать метки времени;
    • Терминал: интерактивный терминал внутри работающего контейнера (по умолчанию /bin/sh, можно указать команду и пользователя; цвета — как в настройках веб-терминала);
    • Файлы: просмотр файлов контейнера, редактирование текста прямо в браузере (до 1 МиБ), загрузка, скачивание (каталоги упаковываются в tar.gz), переименование, создание каталогов, удаление; удаление выполняется командой rm -rf внутри контейнера, поэтому контейнер должен быть запущен;
    • Мониторинг: выборки CPU, памяти, сетевого и дискового ввода-вывода, числа процессов, а также список процессов внутри контейнера.

Compose ​

Compose-проекты собираются по меткам контейнеров, например com.docker.compose.project; для каждого проекта отображаются состояние (запущен, частично запущен, остановлен) и его сервисы.

  • Запуск, остановка, перезапуск, приостановка, возобновление, down (с возможностью удалить именованные тома), общий журнал (каждая строка с префиксом имени сервиса);
  • Создание проекта: вставьте содержимое compose-файла, Gately запишет его в compose/<name>/compose.yaml в каталоге конфигурации и выполнит up. Такие проекты помечаются как «managed»: файл Compose можно редактировать, сохранять и применять, а весь проект — удалить;
  • Для существующих проектов первый compose-файл можно редактировать в браузере (файл должен быть доступен на запись) и при желании сразу выполнить up после сохранения;
  • up, загрузка образов, сборка и чтение/запись файлов зависят от команды docker compose и доступа к пути compose-файла; если они недоступны, интерфейс сообщает «Команда docker compose не обнаружена».

Образы ​

  • В списке показаны теги, размер, дата создания, число использующих образ контейнеров и признак dangling; на странице сведений — история слоёв, переменные окружения, открытые порты и т. д.;
  • Загрузка (pull): аутентификация выполняется по учётным записям реестров из настроек «Система»; если прямая загрузка не удалась и заданы адреса зеркал, они пробуются по очереди, после чего образу возвращается исходное имя. Поддерживается поиск в Docker Hub;
  • Push, добавление тегов, удаление (в том числе принудительное), сборка (встроенный Dockerfile или адрес Git, с аргументами сборки), импорт и экспорт tar (формат docker save);
  • Проверка обновлений: для отдельного контейнера или «Проверить все обновления»; результат отмечается на каждом контейнере;
  • Обновление в один клик: после загрузки нового образа контейнер пересоздаётся с прежней конфигурацией; при ошибке выполняется автоматический откат к исходному контейнеру. Поддерживается пакетное обновление нескольких контейнеров;
  • «Очистить dangling» одним действием удаляет образы без тегов, которые не используются.

Сети и тома ​

  • Сети: в списке показаны драйвер, область действия, подсеть, шлюз и подключённые контейнеры. Сети можно создавать (драйвер, подсеть, шлюз, внутренняя сеть, IPv6) и удалять, контейнеры можно подключать и отключать; встроенные сети защищены от изменений;
  • Тома: показаны драйвер, точка монтирования, размер, число ссылок и использующие том контейнеры. Тома можно создавать, удалять (в том числе принудительно), экспортировать в tar.gz и импортировать из tar.gz. Экспорт и импорт выполняются через временный вспомогательный контейнер alpine; если образа нет, он загружается автоматически.

Система ​

Вкладка «Система» содержит:

  • Сведения о хосте и Docker: версия, версия API, ОС и архитектура, ядро, CPU и память, драйвер хранилища, каталог данных, число контейнеров и образов, версия Compose CLI;
  • Использование диска: количество, размер и объём, который можно освободить, для образов, контейнеров, томов и кэша сборки;
  • Очистка: остановленные контейнеры, dangling-образы, все неиспользуемые образы, неиспользуемые сети, неиспользуемые тома (данные теряются безвозвратно), кэш сборки;
  • Настройки:
ПолеОписание
hostАдрес Docker, по умолчанию unix:///var/run/docker.sock
mirrorsСписок адресов зеркал; пробуются по очереди, если прямая загрузка не удалась. Не зависят от registry-mirrors в /etc/docker/daemon.json: их Docker использует автоматически, а страница настроек показывает только для чтения как «Зеркала демона»
registriesДанные для входа в приватные реестры (server, username, password); пароль в интерфейсе маскируется
autoCheckHoursЗначение больше 0 включает автоматическую проверку обновлений образов контейнеров с указанным интервалом в часах; 0 отключает проверку

Фоновые задачи ​

Длительные операции — pull, push, сборка, пакетная проверка, пакетное обновление, Compose up и другие — выполняются как фоновые задачи. Панель задач внизу страницы показывает вывод в реальном времени и состояние (выполняется, завершена, ошибка); можно просматривать историю и очищать завершённые задачи. После обновления страницы все ещё выполняющиеся задачи восстанавливаются.

Уведомления о событиях ​

Gately подписывается на поток событий Docker и публикует событие docker.exited, когда контейнер аварийно завершается (код выхода не 0) или убивается из-за нехватки памяти (OOM). Каналы получения настраиваются в Центре уведомлений. Штатная остановка с кодом выхода 0 уведомления не вызывает. Если Docker временно недоступен, подписка автоматически повторяется каждые 30 секунд.

API ​

Полное описание интерфейса — в Docker API.

Распространяется по лицензии Apache-2.0.