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
疯狂的妞妞 :每一天,做什么都好,不要什么都不做!
浙公网安备 33010602011771号