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
网络访问说明
-
RocketMQ服务:
-
NameServer地址:你的
宿主机IP:9876 -
Broker地址:你的
宿主机IP:10911
-
-
本机外部浏览器控制台访问:
-
宿主机本地访问:
http://宿主机IP:8888
-

被折叠的 条评论
为什么被折叠?



