docker部署rocketmq
docker 镜像准备
rocketmq镜像拉取
docker pull rocketmqinc/rocketmq
rocketmq-console镜像拉取
docker pull styletang/rocketmq-console-ng
启动mqnamesrv
启动命令,使用.sh文件进行启动
#!/bin/bash
docker run \
-p 9876:9876 \
--name rmqnamesrv \
-e MAX_POSSIBLE_HEAP=100000000 \
-d rocketmqinc/rocketmq:latest sh mqnamesrv
启动mqbroker
启动命令,使用.sh文件进行启动
#!/bin/bash
docker run \
--name rmqbroker \
--link rmqnamesrv:namesrv \
-v /docker/rocketmq/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf \
-e NAMESRV_ADDR=namesrv:9876 \
-e JAVA_OPT_EXT="-server -Xms128m -Xmx128m" \
-p 10911:10911 \
-p 10909:10909 \
-d rocketmqinc/rocketmq:latest sh mqbroker \
-c /opt/rocketmq-4.4.0/conf/broker.conf
这边有一个rocket的路径问题,可以进入rocketmq容器中查看,docker 进入容器命令如下
docker exec -it 容器id bash
在这里需要创建一个配置文件broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#set `brokerIP1` if you want to set physical IP as broker IP.
brokerIP1=192.168.80.130
**brokerIP1的地址是liunx对应的地址 **
启动console
启动命令,使用.sh文件进行启动
#!/bin/bash
docker run \
--name rmqconsole \
-p 8180:8080 \
-e JAVA_OPTS="-Drocketmq.namesrv.addr=172.17.0.2:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false " \
-d styletang/rocketmq-console-ng
命令中的172.17.0.2的地址 是对应mqnamesrv容器对应的ip地址.
这边设置错误,在console界面上提示org.apache.rocketmq.remoting.exception.RemotingConnectException rocketmq
查看mqnamesrv容器的ip
docker exec -it 容器id bash
cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
172.17.0.2 0d528918c752