rabbitmq - docker安装

# 拉取镜像
docker pull rabbitmq:3.7.7-management

# 如果下载不下来,修改 daemon.json 文件,增加国内镜像仓库

# 另存一份,回头离线部署使用
docker save rabbitmq:3.7.7-management -o rabbitmq-3.7.7-management.tar

# 启动
docker run -d -p 15672:15672 -p 5672:5672 -p 1883:1883\
         --restart=always \
         -e RABBITMQ_DEFAULT_USER=admin \
         -e RABBITMQ_DEFAULT_PASS=maker \
         --hostname rabbitmq \
         rabbitmq:3.7.7-management


# -d:后台运行容器;
# -p:端口映射
#		15672 	管理界面
#		5672 	高级消息队列协议(AMQP)
#		1883	消息队列遥测传输协议(MQTT)
# --restart=alawys:开机自启
# -e:指定环境变量:
#		RABBITMQ_DEFAULT_VHOST:默认虚拟机名称,默认值/;
#		RABBITMQ_DEFAULT_USER:	默认的用户,默认值guest;
#		RABBITMQ_DEFAULT_PASS:	默认的密码,默认值guest;
# --hostname:节点名称,默认值主机名,可能与集群有关,单节点服务无须关注;
# --name rabbitmq-new:设置容器名称;

# ----------------------------- MQTT  -----------------------------

# 我的目的是部署 MQTT 服务,进入启用 mqtt 插件,按需添加
rabbitmq-plugins enable rabbitmq_mqtt


# rabbitmq 有个默认虚拟机(Virtual Hosts),名称为 "/", 这个要保留着,
# 使用 docker 部署的时候,如果指定了 RABBITMQ_DEFAULT_VHOST,则可能没这个虚拟机,
# 如果没有默认的队列,使用 MQTT 服务的时候,会报账号密码错误,
# 去管理界面,添加一个名称为 "/" 的队列即可。

# ----------------------------- 授权  -----------------------------
# 1. 添加用户和密码:
rabbitmqctl add_user root root

# 2. 设置用户根为管理员角色:
rabbitmqctl set_user_tags root none

rabbitmqctl change_password root 'root'

# 3. 设置访问权限:
rabbitmqctl set_permissions -p / root ".*" ".*" ".*"


# 重启容器,确保之前配置的东西都在
docker restart xxx

posted on 2024-10-31 14:57  疯狂的妞妞  阅读(53)  评论(0)    收藏  举报

导航