And*_*ins 6 mqtt docker mosquitto
我正在以 docker 身份运行 Mosquitto 2.0.7。
如果我尝试从 docker 中使用 mosquitto_sub 我可以做到。如果我从另一台机器上尝试它,我会收到连接被拒绝的消息。
docker 正在运行,公开端口 1883 和 9001。docker 正在主机网络上运行。docker日志上没有任何错误。
谢谢
aze*_*abs 10
我有同样的问题。尝试在 ./services/mosquitto/mosquitto.conf 中进行以下更改:在您的配置文件中添加、替换或验证以下行:
allow_anonymous true
listener 1883
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
Run Code Online (Sandbox Code Playgroud)
并重新启动您的容器 mosquitto。
似乎在某个时候,配置文件的位置已更改。
只要network_mode设置为“host”并且配置文件被复制到容器中的正确文件夹中,那么从 2.0.14 开始,以下 yml/configs 应该可以正常工作:
docker-compose.yml:
version: "3"
services:
mosquitto:
image: eclipse-mosquitto:latest
container_name: mosquitto
network_mode: "host"
volumes:
- ./conf:/mosquitto/config
- ./data:/mosquitto/data
- ./log:/mosquitto/log
Run Code Online (Sandbox Code Playgroud)
conf/mosquitto.conf
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
listener 1883 0.0.0.0
## Authentication ##
allow_anonymous true
#password_file /mosquitto/conf/mosquitto.conf
Run Code Online (Sandbox Code Playgroud)
发出 plain-oldsudo docker-compose up -d应该可以工作,暴露主机网络上的端口。
我的 Mosquitto Docker 容器配置了port 1883,这似乎将其绑定到0.0.0.0,这允许从容器外部进行访问。确保您还在启动命令中公开了端口:
docker run -d --name="mosquitto" -p 1883:1883 prologic/mosquitto
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16733 次 |
| 最近记录: |