DevOps

Работа с логами в Docker - Dozzle

Dozzle — это инструмент для просмотра логов контейнеров Docker. Он является открытым и бесплатным инструментом, разработанным для упрощения работы с логами контейнеров Docker.

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

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

Кроме того, Dozzle имеет удобный веб-интерфейс, что позволяет просматривать логи контейнеров в браузере. Интерфейс имеет простой и интуитивно понятный дизайн, что делает использование Dozzle еще более удобным.

Установка Dozzle

Установите Docker на свой сервер, если он еще не установлен.

Откройте терминал и выполните следующую команду:

docker run -d --name dozzle -p 9999:8080 -v /var/run/docker.sock:/var/run/docker.sock amir20/dozzle

Эта команда загрузит Dozzle из Docker Hub, создаст контейнер с именем «dozzle» и привяжет его к порту 8080 на вашей машине.

После того, как контейнер будет создан, вы можете открыть Dozzle в своем браузере, перейдя по адресу http://localhost:9999

Вы также можете установить Dozzle используя docker-compose. Для этого создадите файл docker-compose.yml и вставьте в него следующий текст

version: '3' 
services:
dozzle:
container_name: dozzle
image: amir20/dozzle:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 9999:8080

Использование Dozzle

После запуска Dozzle вы увидите список всех запущенных контейнеров Docker на вашем сервере.

Чтобы просмотреть логи конкретного контейнера, нажмите на его имя в списке.

Вы увидите окно с логами выбранного контейнера. Логи будут автоматически обновляться при появлении новых записей.

Чтобы фильтровать логи по ключевым словам, введите их в поле «Filter».

Для просмотра логов нескольких контейнеров одновременно откройте несколько вкладок в браузере.

Доступ к Dozzle по логину и паролю

После установки, доступ к Dozzle будет у всех кто знает IP и пароль, для того чтобы обезопасить ваши данные советуем вам включить аутентификацию, для этого достаточно добавить два файла в папку с проектом и изменить docker-compose.yaml

version: "3" 
services:
dozzle:
image: amir20/dozzle:latest
environment:
DOZZLE_LEVEL: debug
DOZZLE_USERNAME_FILE: /run/secrets/dozzle_user
DOZZLE_PASSWORD_FILE: /run/secrets/dozzle_password
volumes:
- /var/run/docker.sock:/var/run/docker.sock
secrets:
- dozzle_user
- dozzle_password
ports:
- 9999:8080

secrets:

dozzle_user:
file: dozzle_user.txt
dozzle_password:
file: dozzle_password.txt

Указав свои логин и пароль в файлах - dozzle_user.txt и dozzle_password.txt

Ну или прям указав логин с паролем прям в файле docker-compose.yaml

version: "3"
services:
  dozzle:
    image: amir20/dozzle:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 8080:8080
    environment:
    DOZZLE_USERNAME: super_user
    DOZZLE_PASSWORD: super_secret_password

В целом, Dozzle является полезным инструментом для работы с логами контейнеров Docker. Он упрощает доступ к логам и позволяет быстро находить нужную информацию. Кроме того, Dozzle имеет простой и понятный интерфейс, что делает его использование еще более удобным. Если вы работаете с контейнерами Docker, Dozzle — это инструмент, который стоит попробовать.