参考 : Docker安装RocketMQ详细教程_技术砖家--Felix的博客-CSDN博客_docker 安装rocketmq
install.sh
#!/bin/sh
docker load -i rocketmq_4.4.0.tar
docker load -i rocketmq-console_0.2.tar
IP=192.168.2.38
local_ip=`ifconfig eth0|grep inet|awk '{print $2}' |wc -l`
if [[ $local_ip -eq 0 ]]; then
local_ip=$IP
else
local_ip=`ifconfig eth0|grep inet|awk '{print $2}' |head -1`
fi
path="$( cd "$( dirname "$0" )" && pwd )"
mkdir -p data/broker/logs
mkdir -p data/broker/store
mkdir -p conf
mkdir -p nameserver/store
mkdir -p nameserver/logs
cat > run_namesrv.sh <<'EOF'
docker run -d --restart=always --name rmqnamesrv --privileged=true -p 9876:9876 -v current_path/nameserver/logs:/root/logs -v current_path/nameserver/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.4.0 sh mqnamesrv
EOF
cat > run_broker.sh <<'EOF'
docker run -d --restart=always --name rmqbroker --link rmqnamesrv:namesrv -p 10911:10911 -p 10909:10909 --privileged=true -v current_path/data/broker/logs:/root/logs -v current_path/data/broker/store:/root/store -v current_path/conf/broker.conf:/optcurrent_path/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:4.4.0 sh mqbroker -c /optcurrent_path/broker.conf
EOF
cat > conf/broker.conf <<'EOF'
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = local_ip
EOF
cat > run_console.sh <<'EOF'
docker run -d --name=rmqconsole
--restart=always
-p 9877:9877 rocketmq-console:0.2
--server.port=9877
--rocketmq.config.namesrvAddr=local_ip:9876
EOF
cat > ps <<'EOF'
docker ps -a |grep rmq
EOF
sed -i "s#current_path#$path#g" run_namesrv.sh
sed -i "s#current_path#$path#g" run_broker.sh
sed -i "s#local_ip#$local_ip#g" conf/broker.conf
sed -i "s#local_ip#$local_ip#g" run_console.sh
chmod +x ps
sh run_namesrv.sh
sh run_broker.sh
sh run_console.sh
clean.sh
#!/bin/sh docker rm -f rmqbroker docker rm -f rmqnamesrv docker rm -f rmqconsole rm -rf conf rm -ff rocketmq rm -rf data rm -rf nameserver rm -rf ps rm -rf run_broker.sh rm -rf run_namesrv.sh rm -rf run_console.sh



