詹学伟
詹学伟
Published on 2024-05-12 / 8 Visits
0
0

Docker部署单机RocketMQ(解决NameServer获取Borker地址为容器内部ip问题)

部署NameServer

docker pull rocketmqinc/rocketmq:4.4.0
docker run --name rmqnamesrv -d -p 9876:9876 --restart=always rocketmqinc/rocketmq:4.4.0 sh mqnamesrv

部署Broker

mkdir -p /usr/local/docker/rocketmq/data/broker/logs
mkdir -p /usr/local/docker/rocketmq/data/broker/store
docker run -d -p 10911:10911 -p 10909:10909 --restart=always -v /usr/local/docker/rocketmq/data/broker/logs:/root/logs -v /usr/local/docker/rocketmq/data/broker/store:/root/store --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:4.4.0 sh mqbroker  -c ../conf/broker.conf

启动之后使用如下命令进入镜像:

docker exec -it --user root rmqbroker bash

修改一下borker.conf

cd ../conf
vi broker.conf

加上一行

brokerIP1=宿主机器ip

部署RocketMQ可视化界面控制台

docker pull pangliang/rocketmq-console-ng
docker run --name rmqconsole -d -p 8082:8080 --link rmqnamesrv:namesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876"  pangliang/rocketmq-console-ng


Comment