Источники

Удаление

1
2
3
docker stop mosquitto ;\
docker rm mosquitto ;\
docker rmi eclipse-mosquitto

Установка

Создадим директорию и откроем файл mosquitto.conf для редактирования.

1
2
3
mkdir /dconf/mosquitto
> /dconf/mosquitto/passwd
nano /dconf/mosquitto/mosquitto.conf

Необходимо создать конфиг со следующим содержимым (Мануал по конфигу):

1
2
3
4
5
6
7
8
9
allow_anonymous false
password_file /mosquitto/config/passwd
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
connection_messages true
log_type all
socket_domain ipv4
listener 1883

Запуск mosquitto_passwd в контейнере, для создания пароля. Формат комманды:

mosquitto_passwd -c /mosquitto/config/passwd user

Где флаг -c - создать новый пароль и перезаписать файл; /mosquitto/config/passwd - путь к файлу; user - имя пользователя (Мануал по паролям).

1
2
3
4
5
6
7
docker run -it \
  --rm \
  -v /dconf/mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf \
  -v /dconf/mosquitto/passwd:/mosquitto/config/passwd \
  -v /dconf/mosquitto/data:/mosquitto/data \
  -v /dconf/mosquitto/log:/mosquitto/log \
eclipse-mosquitto mosquitto_passwd -c /mosquitto/config/passwd user

Дважды указываем пароль, после чего его хеш должен сохраниться в файл. (Можете проверить cat /dconf/mosquitto/passwd)

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
docker run -d \
  --name="mosquitto" \
  -p 1883:1883 \
  -p 9001:9001 \
  -v /dconf/mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf \
  -v /dconf/mosquitto/passwd:/mosquitto/config/passwd \
  -v /dconf/mosquitto/data:/mosquitto/data \
  -v /dconf/mosquitto/log:/mosquitto/log \
  -e TZ=Europe/Moscow \
  --restart unless-stopped \
eclipse-mosquitto
1
tail -f /dconf/mosquitto/log/mosquitto.log

Связанные статьи