拉取镜像
docker pull foxiswho/rocketmq:server-4.3.2
docker pull foxiswho/rocketmq:broker-4.3.2
创建容器方法一:
#创建nameserver容器
docker create -p 9876:9876 --name rmqserver \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-e "JAVA_OPTS=-Duser.home=/opt" \
-v /kkb/rmq/rmqserver/logs:/opt/logs \
-v /kkb/rmq/rmqserver/store:/opt/store \
foxiswho/rocketmq:server-4.3.2
#创建broker容器
docker create -p 10911:10911 -p 10909:10909 --name rmqbroker \
-e "JAVA_OPTS=-Duser.home=/opt" \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-v /kkb/rmq/rmqbroker/conf/broker.conf:/etc/rocketmq/broker.conf \
-v /kkb/rmq/rmqbroker/logs:/opt/logs \
-v /kkb/rmq/rmqbroker/store:/opt/store \
foxiswho/rocketmq:broker-4.3.2
创建容器方法二:
#第二种更简单的创建方式(上面那种创建方式,不是很好使)
#创建broker-server
docker run -di -p 9877:9876 --name=rmqserver02 \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-e "JAVA_OPTS=-Duser.home=/opt" \
foxiswho/rocketmq:server-4.5.1
#创建broker
docker run -di -p 10911:10911 -p 10909:10909 --name=rmqbroker -e "JAVA_OPTS=-Duser.home=/opt" -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" foxiswho/rocketmq:broker-4.5.1
配置
#配置broker容器的配置文件
docker exec -it rmqbroker /bin/bash
cd /etc/rocketmq/
vi broker.conf
#配置内容
brokerIP1=172.17.0.3 #内网IP
namesrvAddr=192.168.66.66:9876
brokerName=kkb-a
操作
#启动容器
docker start rmqserver rmqbroker
#停止删除容器
docker stop rmqbroker rmqserver
docker rm rmqbroker rmqserver
经测试,可以正常发送、接收消息。
RocketMQ提供了UI管理工具,名为rocketmq-console、项目地址:https://github.com/apache/rocketmq-externals/tr
ee/master/rocketmq-console。该工具支持docker以及非docker安装,这里我们选择使用docker安装
安装命令:
#拉取镜像
docker pull styletang/rocketmq-console-ng:1.0.0 #创建并启动容器 docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=172.17.0.3:9876 - Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8082:8080 -t styletang/rocketmq-console- ng:1.0.0
启动效果: