docker search rabbitmq docker pull rabbitmq:3.8.1-management
安装带管理端的docker容器
docker run -d --hostname rabbitmq --name rabbitmq -v /home/mydata/rabbitmq/data:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' rabbitmq:3.8.1-management
上面只是把数据文件放在外面,不做任何操作是可以正常的
建/home/mydata/rabbitmq 下面data,conf,log对应数据,配置与日志
useradd rabbitmq chown rabbitmq:rabbitmq -R rabbitmq/ 把下面目录都变成rabbitmq用户 docker run -d --hostname rabbitmq --name rabbitmq -v /home/mydata/rabbitmq/data:/var/lib/rabbitmq -v /home/mydata/rabbitmq/conf:/etc/rabbitmq/ -v /home/mydata/rabbitmq/log:/var/log/rabbitmq/ -p 15672:15672 -p 5672:5672 -p 1883:1883 -p 15675:15675 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' rabbitmq:3.8.1-management
上面开始有问题,老说是config文件没有权限
[root@zxg mydata]# docker logs rabbitmq touch: cannot touch '/etc/rabbitmq/rabbitmq.conf': Permission denied docker cp -a rabbitmq:/etc/rabbitmq .
并用mv方式移动合适目录下
把配置文件拷贝到宿主就可以了,没有报错,正常了
- 15672 是rabbitmq management管理界面默认访问端口
- 5672 是amqp默认端口
- 1883 是mqtt tcp协议默认端口
- 15675 是web_mqtt ws协议默认端口
docker exec rabbitmq rabbitmq-plugins enable rabbitmq_management docker exec rabbitmq rabbitmq-plugins enable rabbitmq_mqtt docker exec rabbitmq rabbitmq-plugins enable rabbitmq_web_mqtt
也可以人工启动这些插件
配置防火墙
firewall-cmd --add-port=15672/tcp --permanent firewall-cmd --add-port=5672/tcp --permanent firewall-cmd --add-port=1883/tcp --permanent firewall-cmd --add-port=15675/tcp --permanent firewall-cmd --reload firewall-cmd --list-all
http://192.168.33.112:15672/ 进入rabbitmq管理页面,初始用户guest密码是guest
用MQTT.fx可以测试MQTT
支持windows/linux/mac,请选择对应的版本进行安装,本例以Windows10为例,版本为1.7.1 。
下载地址: Index of /apps/mqttfx