全网最新教程!contos7使用docker安装并运行rocketmq和控制台

 1:将当前用户添加到 docker 用户组(推荐) 
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER

# 刷新用户组权限(需重新登录终端或执行以下命令)
newgrp docker

# 验证:重新运行 Docker 命令(无需 sudo)
docker pull rocketmqinc/rocketmq

解决实际问题 

  • Docker 守护进程通过 Unix socket (/var/run/docker.sock) 通信。

  • 默认情况下,只有 root 和 docker 组成员有权读写此 socket。

  • 普通用户未加入 docker 组时,会触发 permission denied 错误。

2:配置docker国内镜像加速器
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
  "https://docker.m.daocloud.io",
  "https://docker.xuanyuan.me",
  "https://docker.1ms.run"
]
}
3:重启docker服务
# 重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker

接下来开始安装rocketmq和控制台并配置相关文件

步骤1:拉取RocketMQ镜像

docker pull rocketmqinc/rocketmq

步骤2:创建NameServer容器

docker run -d \
  --name rmqnamesrv \
  -p 9876:9876 \
  -v /Docker_mount_conf/RocketMQ/NameServer/logs:/root/logs \
  -v /Docker_mount_conf/RocketMQ/NameServer/store:/root/store \
  -e "MAX_POSSIBLE_HEAP=100000000" \
  --restart unless-stopped \
  rocketmqinc/rocketmq \
  sh mqnamesrv

步骤3:准备Broker配置文件

创建配置文件目录并生成配置文件:

提示:仔细查看 brokerIP1 的内容需要你手动更换自己的宿主机IP

mkdir -p /Docker_mount_conf/RocketMQ/Broker/conf
cat > /Docker_mount_conf/RocketMQ/Broker/conf/broker.conf <<EOF
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 关键配置:设置Broker对外暴露的IP为宿主机的桥接IP
brokerIP1 = “换成你自己的宿主机IP”
EOF

步骤4:运行Broker容器

提示:仔细查看 NAMESRV_ADDR 的内容需要你手动更换自己的宿主机IP

docker run -d \
  --name rmqbroker \
  --link rmqnamesrv:namesrv \
  -p 10911:10911 \
  -p 10909:10909 \
  -v /Docker_mount_conf/RocketMQ/Broker/logs:/root/logs \
  -v /Docker_mount_conf/RocketMQ/Broker/store:/root/store \
  -v /Docker_mount_conf/RocketMQ/Broker/conf/broker.conf:/opt/rocketmq/conf/broker.conf \
  -e "NAMESRV_ADDR=宿主机IP:9876" \
  -e "MAX_POSSIBLE_HEAP=200000000" \
  -e "JAVA_OPT_EXT=-Duser.home=/opt" \
  --restart unless-stopped \
  rocketmqinc/rocketmq \
  sh mqbroker -c /opt/rocketmq/conf/broker.conf

步骤5:拉取并运行RocketMQ控制台

# 拉取控制台镜像
docker pull pangliang/rocketmq-console-ng

# 启动控制台容器
docker run -d \
  --name rmqadmin \
  -e "JAVA_OPTS=-Drocketmq.namesrv.addr=“换成你自己的宿主机IP”:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
  --restart unless-stopped \
  -p 8888:8080 \
  pangliang/rocketmq-console-ng

网络访问说明

  1. RocketMQ服务

    • NameServer地址:你的宿主机IP:9876

    • Broker地址:你的宿主机IP:10911

  2. 本机外部浏览器控制台访问

    • 宿主机本地访问http://宿主机IP:8888

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一条小仔仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值