greenbone/mqtt-broker该镜像是基于 Eclipse Mosquitto 的轻量级 MQTT 消息代理,专为 Greenbone Community Edition 设计。它提供可靠的发布/订阅(Publish/Subscribe)消息传递服务,用于 Greenbone 漏洞扫描系统中各组件(如扫描引擎、管理服务、前端界面等)之间的实时通信,支持事件通知、状态同步和数据传输等核心业务场景。
bashdocker run -d \ --name greenbone-mosquitto \ -p 1883:1883 \ greenbone/mosquitto
bashdocker run -d \ --name greenbone-mosquitto \ -p 1883:1883 \ -v ./mosquitto/data:/mosquitto/data \ # 持久化消息数据 -v ./mosquitto/log:/mosquitto/log \ # 持久化日志 greenbone/mosquitto
bashdocker run -d \ --name greenbone-mosquitto \ -p 8883:8883 \ # TLS 加密端口 -v ./mosquitto/config:/mosquitto/config \ # 挂载包含 TLS 配置的目录 -v ./mosquitto/certs:/mosquitto/certs \ # 挂载 TLS 证书(ca.crt, server.crt, server.key) -v ./mosquitto/data:/mosquitto/data \ -v ./mosquitto/log:/mosquitto/log \ greenbone/mosquitto
./mosquitto/config/mosquitto.conf 需配置 TLS(示例见 4.3 节)。创建 docker-compose.yml:
yamlversion: '3' services: greenbone-mosquitto: image: greenbone/mosquitto container_name: greenbone-mosquitto ports: - "1883:1883" # 未加密端口(可选,仅开发环境) - "8883:8883" # TLS 加密端口(生产环境必选) volumes: - ./mosquitto/config:/mosquitto/config:ro # 只读挂载配置目录 - ./mosquitto/certs:/mosquitto/certs:ro # 只读挂载证书目录 - ./mosquitto/data:/mosquitto/data # 持久化消息数据 - ./mosquitto/log:/mosquitto/log # 持久化日志 restart: unless-stopped # 异常退出后自动重启
启动命令:docker-compose up -d
Mosquitto 通过配置文件 mosquitto.conf 定义行为,默认路径为容器内 /etc/mosquitto/mosquitto.conf。建议通过挂载自定义配置文件覆盖默认配置。
mosquitto.conf)conf# 基础网络配置 listener 1883 0.0.0.0 # 监听所有网卡的 1883 端口(未加密) listener 8883 0.0.0.0 # 监听所有网卡的 8883 端口(TLS 加密) # TLS 配置(生产环境必须) cafile /mosquitto/certs/ca.crt # CA 证书路径 certfile /mosquitto/certs/server.crt # 服务端证书 keyfile /mosquitto/certs/server.key # 服务端私钥 tls_version tlsv1.2 # 支持的 TLS 版本 # 持久化配置 persistence true # 启用持久化 persistence_location /mosquitto/data/ # 持久化数据路径 log_dest file /mosquitto/log/mosquitto.log # 日志文件路径 log_type all # 记录所有日志类型 log_timestamp true # 日志带时间戳
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
LOG_LEVEL | 日志级别(debug/info/warning/error) | info |
MQTT_USER | 基础认证用户名(需配合 MQTT_PASSWORD) | 无(默认关闭认证) |
MQTT_PASSWORD | 基础认证密码(需配合 MQTT_USER) | 无 |
bashdocker run -d \ --name greenbone-mosquitto \ -p 1883:1883 \ -e MQTT_USER=greenbone \ -e MQTT_PASSWORD=secure_password \ greenbone/mosquitto
mosquitto,UID/GID 为 1883)。max_inflight_messages、max_queued_messages 等参数优化性能。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务