docker eclipse-mosquitto работает только на localhost - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу использовать docker eclipse-mosquitto просто для связи на локальной машине. Какие настройки мне нужны для mosquitto.conf, чтобы брокер mosquitto был виден только на локальном хосте, но не снаружи? Поскольку запущен второй комар, порт 1883 заблокирован, и я использую порт 1884.

Вот что у меня есть:

port 1884
bind_address 127.0.0.1

виден снаружи.

port 1884
bind_address localhost

выдает ошибку Error: Address not available.

Привязка к docker -ip

port 1884
bind_address 172.17.0.1

выдает ошибку Error: Address not available.

Что я могу сделать?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Ваш ответ - неправильный подход, вы действительно должны использовать --network="host" только для вещей, которые должны открывать необработанные сокеты или получать широковещательные сообщения из локальной сети.

Правильный ответ - не использовать Опция bind_address в файле mosquitto.conf и использование опции docker -p для правильного сопоставления портов ( docs ).

например

docker run exec -rm -p 127.0.0.1:1884:1884/tcp mosquitto

Здесь -p 127.0.0.1:1884:1884 сопоставляет порт 1884 в контейнере с портом 1884, привязанным к петлевому ip (127.0.0.1) на хосте.

0 голосов
/ 01 апреля 2020

Хорошо, решил сам:

Запуск docker с дополнительной опцией --network="host" и чем в mosquitto.conf:

port 1884
bind_address 127.0.0.1

делает работу.

...