一、创建目录
mkdir -p /usr/local/soft/docker/rocketmq/{name_server,broker,console} && mkdir -p /usr/local/soft/docker/rocketmq/name_server/{logs,store} && mkdir -p /usr/local/soft/docker/rocketmq/broker/{logs,store,conf}
二、启动name_server容器
docker run -d --restart=always --name rmqnamesrv --privileged=true -p 9876:9876 -v /usr/local/soft/docker/rocketmq/name_server/logs:/root/logs -v /usr/local/soft/docker/rocketmq/name_server/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv
三、创建编辑broker.conf配置文件
vim /usr/local/soft/docker/rocketmq/broker/conf/broker.conf
# brokerIP1修改为虚拟机ip
brokerClusterName = DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
brokerIP1=192.168.232.128
autoCreateTopicEnable=true
四、创建rocketmq_broker容器
注意-e "NAMESRV_ADDR=后面需要与前面所创建的 "name_server" 容器名一致。
并附带端口号,格式【容器名:端口】
# --link rmqnamesrv:namesrv:和rmqnamesrv容器通信
docker run -d --restart=always --name rmqbroker --link rmqnamesrv:namesrv -p 10911:10911 -p 10909:10909 --privileged=true -v /usr/local/soft/docker/rocketmq/broker/logs:/root/logs -v /usr/local/soft/docker/rocketmq/broker/store:/root/store -v /usr/local/soft/docker/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
五、创建rocketmq_console容器
docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.232.128:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8088:8080 pangliang/rocketmq-console-ng