#docker #logging #docker-compose #mosquitto
#docker #ведение журнала #docker-compose #mosquitto
Вопрос:
Я установил eclipse-mosquitto
образ docker в Ubuntu. Я пытаюсь запустить его с помощью docker-compose
. Mosquitto требуется 3 каталога, как описано на странице docker hub:
- конфигурация: которая содержит файлы mosquitto.conf и bridge.conf
- данные: которые содержат файл mosquitto.db
- журнал: который содержит файл 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