Гид по технологиям

Установка Dozzle на Ubuntu 22.04

• 4 min read • DevOps • Обновлено 25 Nov 2025
Установка Dozzle на Ubuntu 22.04
Установка Dozzle на Ubuntu 22.04

Иллюстрация Dozzle — лёгкий веб-просмотрщик логов

Dozzle — простое, лёгкое приложение для просмотра логов в реальном времени. Оно позволяет наблюдать логи контейнеров Docker через веб-интерфейс, выполнять интеллектуальный поиск по regex, разделять экран для одновременного просмотра нескольких логов и скачивать их на локальную машину.

В этой инструкции показано, как установить Dozzle на Ubuntu 22.04 и быстро начать работу.

Предварительные требования

  • Сервер с Ubuntu 22.04.
  • Настроен пароль root или учётная запись с sudo.

Установка Docker Engine

Сначала установите зависимости:

apt install ca-certificates curl gnupg lsb-release -y

Добавьте GPG-ключ и репозиторий Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor > /etc/apt/trusted.gpg.d/docker-archive-keyring.gpg  
echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list

Обновите индекс пакетов и установите Docker Engine:

apt update -y  
apt install docker-ce docker-ce-cli containerd.io -y

Проверьте установку:

docker --version

Ожидаемый пример вывода:

Docker version 20.10.18, build b40c2f6

Важно: если у вас нет доступа к официальному репозиторию Docker (корпоративный прокси, приватная сеть), используйте локальный репозиторий пакетов или обратитесь к администратору сети.

Запуск контейнера Dozzle

Скачайте и запустите контейнер Dozzle командой:

docker run --name dozzle -d --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:8080 amir20/dozzle:latest

Пример вывода при первом запуске (объём загрузки образа):

Unable to find image 'amir20/dozzle:latest' locally
latest: Pulling from amir20/dozzle
d1cdc3d3f75b: Pull complete 
9208c7e48f51: Pull complete 
Digest: sha256:6c60292275a512749e4429ee82acfa473ae64e9692ddaa440110bf8cdcba1b9f
Status: Downloaded newer image for amir20/dozzle:latest
c23860a90ab760ca3102be73f50404ab61edf1e868078991b4533b5f09d1cd98

Проверьте список локальных образов:

docker images

Ожидаемый пример вывода:

REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
amir20/dozzle         latest    8ecfe772f6ef   3 days ago     10MB

Проверьте запущенные контейнеры:

docker ps

Ожидаемый пример вывода:

CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS                    PORTS                                       NAMES
c23860a90ab7   amir20/dozzle:latest   "/dozzle"                47 seconds ago   Up 46 seconds             0.0.0.0:8888->8080/tcp, :::8888->8080/tcp   dozzle

Контейнер Dozzle запущен и слушает порт 8888. Можно проверить открытые сокеты:

ss -altnp

Пример вывода:

LISTEN      0           4096                   0.0.0.0:8888                 0.0.0.0:*          users:(("docker-proxy",pid=51708,fd=4))        
LISTEN      0           4096                      [::]:8888                    [::]:*          users:(("docker-proxy",pid=51714,fd=4))        

Доступ к Dozzle через браузер

Откройте браузер и перейдите по адресу: http://your-server-ip:8888

Вы должны увидеть веб-интерфейс Dozzle:

Интерфейс Dozzle — список контейнеров и поиск по логам

Нажмите на контейнер в левой панели, чтобы просмотреть его логи:

Просмотр логов контейнера в Dozzle, пример фильтра по строкам

Типовые проблемы и решения

  • Контейнер не появляется в списке:
    • Убедитесь, что Dozzle запущен с доступом к /var/run/docker.sock.
    • Проверьте права доступа на сокет и что Docker использует тот же сокет.
  • Порт 8888 занят:
    • Измените проброс порта в команде run: -p 8889:8080 или освободите порт.
  • Нет логов для контейнера:
    • Проверьте, пишет ли контейнер логи в stdout/stderr. Dozzle читает стандартный вывод Docker.
  • Проблемы с SELinux/AppArmor:
    • На серверах с жёсткой политикой безопасности настройте соответствующие профили или используйте дополнительную привилегию.

Альтернативные способы развёртывания

  • docker-compose: удобно для управления версией и параметрами, пример:
version: '3'
services:
  dozzle:
    image: amir20/dozzle:latest
    container_name: dozzle
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - "8888:8080"
  • Podman: можно запускать с подключением к Docker socket через системный мост, но потребуется адаптация параметров.
  • Реверс-прокси: для публичного доступа ставьте Nginx/Traefik с TLS и базовой аутентификацией.

Безопасность и рекомендации для продакшна

  • Не открывайте /var/run/docker.sock публично: доступ даёт полный контроль над хостом.
  • Размещайте Dozzle за аутентифицированным reverse-proxy (Basic Auth, OAuth, OIDC).
  • Ограничьте доступ по IP или VPN.
  • Для снижения привилегий используйте промежуточный лог-агент (Fluentd/Vector) и отдавайте Dozzle только агрегированные логи.

Важно: Dozzle сам по себе не обеспечивает аутентификацию. Для защищённого доступа добавьте прокси с SSL и авторизацией.

Рекомендации по использованию (роль-ориентированные чек-листы)

Администратор:

  • Убедиться, что Docker обновлён.
  • Проверить доступы к /var/run/docker.sock.
  • Настроить обратный прокси и TLS.

DevOps-инженер:

  • Добавить Dozzle в docker-compose стек при необходимости.
  • Мониторить потребление памяти контейнера.
  • Настроить ротацию логов на хосте.

Разработчик:

  • Фильтровать логи по regex в интерфейсе Dozzle.
  • Использовать split-screen для сравнения нескольких контейнеров.

Мини-методология для продакшн-развёртывания

  1. Подготовка: обновите Docker и систему безопасности.
  2. Развёртывание: используйте docker-compose с явной версией образа.
  3. Защита: разместите Dozzle за Nginx с TLS и базовой аутентификацией.
  4. Наблюдение: добавьте мониторинг и алерты на отказ контейнера.

Критерии приёмки

  • Dozzle отвечает на порту 8888 (или указанном).
  • Список контейнеров отображается и логи видны.
  • Доступ к веб-интерфейсу защищён для публичного окружения.

Заключение

Поздравляем — вы установили Dozzle и можете просматривать логи контейнеров через удобный веб-интерфейс. Для продакшна используйте reverse-proxy и ограничьте доступ к Docker socket. Если нужно — подскажу готовые docker-compose файлы, примеры конфигурации Nginx или шаги по интеграции с Fluentd/Vector.

Полезные команды быстрого доступа

  • Перезапустить Dozzle: docker restart dozzle
  • Просмотреть логи Dozzle: docker logs -f dozzle
  • Остановить и удалить: docker rm -f dozzle
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро