Как смонтировать журналы mosquitto docker на локальный компьютер

#docker #logging #docker-compose #mosquitto

#docker #ведение журнала #docker-compose #mosquitto

Вопрос:

Я установил eclipse-mosquitto образ docker в Ubuntu. Я пытаюсь запустить его с помощью docker-compose . Mosquitto требуется 3 каталога, как описано на странице docker hub:

  1. конфигурация: которая содержит файлы mosquitto.conf и bridge.conf
  2. данные: которые содержат файл mosquitto.db
  3. журнал: который содержит файл mosquitto.log

На моем локальном КОМПЬЮТЕРЕ я создал каталог с именем mosquitto , в котором есть все вышеупомянутые каталоги и файлы:

 mosquitto

    -> config
        -> mosquitto.conf
        -> conf.d
            -> bridge.conf 
    -> data
        -> mosquitto.db
    -> log
        -> mosquitto.log
  

Ниже приведен файл docker-compose.yml:

 version: '2.4'

services:
    mosquitto:
        image: eclipse-mosquitto:latest
        volumes:
            - /home/john/Documents/docker/mosquitto:/mosquitto
        restart: always
  

и я начинаю это как sudo docker-compose up . Его контейнер начинает работать нормально, и я вижу все каталоги и файлы, правильно смонтированные внутри контейнера mosquitto. Я вижу, что журналы начинают приходить, и mosquitto.log размер файла также увеличивается внутри контейнера, но на моем локальном компьютере нет журнала.

Почему это происходит, когда я смонтировал том. Я также хочу получать журналы на mosquitto.log локальном компьютере Ubuntu. Как я могу это сделать. Кто-нибудь, пожалуйста, может предложить какое-нибудь хорошее решение. Спасибо

Ответ №1:

Это связано с тем, что docker создает 2 локальных тома и монтирует их поверх /mosquitto каталога для хранения данных о сохраняемости и журнала.

Добавьте дополнительные монтирования в раздел «Тома», и тогда он свяжет локальные каталоги, а не создаст безымянные локальные тома.

 version: '2.4'

services:
    mosquitto:
        image: eclipse-mosquitto:latest
        volumes:
            - /home/john/Documents/docker/mosquitto:/mosquitto
            - /home/john/Documents/docker/mosquitto/data:/mosquitto/data
            - /home/john/Documents/docker/mosquitto/log:/mosquitto/log
        restart: always