前提条件

  • Ubuntu 24.04 已安装在 WSL2 上。
  • Docker 已安装并在 WSL2 上运行。
  • 熟悉基本的 Docker 命令和 Linux 文件权限。

1. 使用docker拉取mosquitto镜像

docker pull eclipse-mosquitto

2. 创建挂载目录

为了确保 Mosquitto 的数据、配置文件和日志在 Docker 容器外持久化,需要创建专用目录并设置适当的权限。

mkdir -p /usr/local/docker/mosquitto/{data,conf,logs}

3. 加入配置文件:

vim /usr/local/docker/mosquitto/conf/mosquitto.conf
# 持久化设置
persistence true
persistence_location /mosquitto/data

# 日志设置
log_dest file /mosquitto/log/mosquitto.log

# 监听器配置(使用 listener 替代 port)
listener 1883 0.0.0.0
protocol mqtt

# WebSocket 监听器
listener 9001 0.0.0.0
protocol websockets

# 安全设置
# 关闭匿名模式
allow_anonymous false

# 指定密码文件
password_file /mosquitto/config/pwfile.conf

5. 创建并修改密码文件权限

touch /usr/local/docker/mosquitto/conf/pwfile.conf
chmod -R 755 /usr/local/docker/mosquitto/conf/pwfile.conf

 6. 创建并启动容器

sudo docker run -it --name=mosquitto --privileged \
-p 1883:1883 -p 9001:9001 \
-v /usr/local/docker/mosquitto/conf/mosquitto.conf:/mosquitto/config \
-v /usr/local/docker/mosquitto/data:/mosquitto/data \
-v /usr/local/docker/mosquitto/logs:/mosquitto/log \
-d eclipse-mosquitto

 7. 添加账户和密码登录

# 进入容器
docker exec -it mosquitto sh
# 使用 mosquitto_passwd 命令创建用户
mosquitto_passwd -b /mosquitto/config/pwfile.conf admin admin
# 重启容器
docker restart mosquitto

 8. Mosquitto连接测试

项目首页 - MQTTfx1.7.1Windows64位最新版下载:MQTTfx 1.7.1 Windows 64位最新版下载 - GitCode https://gitcode.com/open-source-toolkit/bc65b/?utm_source=tools_gitcode&index=top&type=card&&uuid_tt_dd=10_19743975810-1741314845520-386416&isLogin=1&from_id=142971797&from_link=451a4613613576cf6cec8ce0ae17a801

 

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐