Перейти к содержанию

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

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 — это инструмент, который стоит попробовать.