00:00:00Можно и дальше отлаживать Docker с пятью терминалами и бесконечной прокруткой.
00:00:04А можно открыть одну вкладку браузера и видеть логи всех контейнеров в реальном времени.
00:00:08Это Dozzle.
00:00:10Инструмент с открытым исходным кодом, который транслирует логи контейнеров в ваш
00:00:13браузер и фактически их не хранит.
00:00:15Вот почему он весит всего около семи мегабайт и работает очень быстро.
00:00:19Давайте посмотрим, как его настроить и применить в деле прямо сейчас.
00:00:22[МУЗЫКА]
00:00:28У вас может быть открыто три терминала, а может и пять.
00:00:30В каждом из них мы запускаем docker logs.
00:00:32Листаем, ищем, переключаемся между вкладками.
00:00:35Это привычная плата за работу с контейнерами.
00:00:37Dozzle предлагает более простой способ видеть всё сразу в одном месте
00:00:41без развертывания полноценного стека логирования.
00:00:43Он поддерживает Docker, Docker Swarm, Kubernetes и
00:00:46мультихостовые конфигурации через агентов. К тому же только что вышла 10-я версия.
00:00:50В ней появились алерты, вебхуки, поддержка облаков и важные обновления безопасности.
00:00:54Он создан для одной цели: наглядности при отладке в реальном времени.
00:00:57Пора показать, как его настроить и
00:00:59почему он может полностью изменить ваш подход к отладке Docker-приложений.
00:01:02Если вам важно экономить время при разработке — подписывайтесь.
00:01:06Мы постоянно разбираем полезные инструменты, которые реально помогают.
00:01:09На первый взгляд Dozzle кажется очередным инструментом для логов.
00:01:12Мы ожидаем чего-то тяжеловесного, хранящего данные,
00:01:15требующего базу данных, но здесь всё наоборот.
00:01:19Давайте настроим его меньше чем за 60 секунд.
00:01:22Для начала скачаем образ командой, которую я запускаю сейчас.
00:01:26Я запущу его, примонтирую сокет Docker и проброшу порт — и всё.
00:01:30Никаких баз данных, никакой индексации, и не нужно ничего ждать.
00:01:33Я изменил порты, потому что у меня уже запущены другие контейнеры,
00:01:37один из которых использует стандартный порт.
00:01:39Теперь я просто открываю браузер на localhost и
00:01:42сразу вижу список запущенных контейнеров.
00:01:44Привычных сложностей с установкой просто не возникает.
00:01:47Всё работает очень гладко.
00:01:49Если используете Docker Compose: укажите образ, пробросьте порт,
00:01:53примонтируйте сокет Docker и передайте флаг отключения аналитики.
00:01:56Затем выполните docker-compose up — и готово.
00:01:59Единственное, за чем стоит следить — это права доступа к сокету и
00:02:02использование версии 10 или выше для доступа к последним обновлениям.
00:02:07Вот и весь цикл настройки.
00:02:08Ничего сверхъестественного, но интерфейс и практичность поражают.
00:02:13А теперь — самое интересное.
00:02:16Открыв Dozzle, вы видите чистый список всех запущенных контейнеров.
00:02:20Никаких лишних дашбордов, только ваши сервисы.
00:02:24Я могу начать вводить в поиске что-то вроде «DB».
00:02:27И контейнер базы данных появится мгновенно, точное имя не требуется.
00:02:32Нажмите на контейнер, и логи начнут транслироваться в прямом эфире.
00:02:35Нам не нужно ничего обновлять, всё происходит само собой.
00:02:38Я создал тестовый контейнер для имитации неудачных запросов,
00:02:41но вы можете просто спровоцировать ошибку в своем приложении.
00:02:46Как только произойдет ошибка, она тут же отобразится в браузере.
00:02:48Мне не нужно переключать терминалы или заново вводить команды.
00:02:51В момент сбоя я сразу увижу его в интерфейсе.
00:02:54В 10-й версии появился SQL-режим на базе DuckDB.
00:02:58Можно переключить режим в терминале и выполнить запрос, например, выборку записей.
00:03:03Здесь это показано упрощенно, но я могу сделать запрос,
00:03:05и результат вернется прямо здесь, в Dozzle.
00:03:07Это дает общее представление о возможностях.
00:03:09Теперь вместо того чтобы искать глазами, можно просто делать запросы к логам.
00:03:13Также можно задать условие, например, превышение CPU на 80%,
00:03:17и привязать вебхук к Slack или другому эндпоинту,
00:03:20что делает мониторинг гораздо более интерактивным.
00:03:22Это была одна из фишек последнего обновления.
00:03:24Прежде чем открывать доступ извне к локальной машине,
00:03:27обязательно включите аутентификацию.
00:03:29Установите переменную окружения и
00:03:31укажите файл конфигурации пользователей для защиты доступа.
00:03:35В Kubernetes развертывайте его через манифесты или Helm.
00:03:38Смонтируйте нужные логи и откройте доступ через сервис.
00:03:42Пара заключительных мыслей, прежде чем закончить.
00:03:44Я хочу четко обозначить, чем этот инструмент является, а чем нет.
00:03:48Dozzle — простой, легкий и сфокусирован на живом стриминге.
00:03:52Он не хранит логи, что делает его быстрым и приватным.
00:03:57Но это также значит, что он не предназначен для долгосрочного хранения.
00:04:00Так что учитывайте это в своей работе.
00:04:02Если вам нужно постоянное хранилище и дашборды,
00:04:04существует масса других решений, которые мы уже используем.
00:04:07Но как open-source способ живого анализа контейнеров,
00:04:11мне он показался очень крутым.
00:04:13Каждая минута, потраченная на переключение терминалов
00:04:15и просмотр логов — это время, когда вы не решаете проблему.
00:04:18Dozzle, похоже, устраняет эту потерю времени.
00:04:22Он централизует логи, добавляет фильтрацию, SQL-запросы, разделение экрана
00:04:27и алерты в 10-й версии, оставаясь при этом легким и понятным.
00:04:31Попробуйте его в следующем Docker-проекте и увидите, как быстро станут заметны ошибки.
00:04:35Если видео было полезным — подписывайтесь на контент для разработчиков.
00:04:39Увидимся в следующих роликах.