参考 : Docker安装RocketMQ详细教程_技术砖家--Felix的博客-CSDN博客_docker 安装rocketmq
install.sh
#!/bin/sh
#docker load -i rocketmq_4.4.0.tar
#docker pull rocketmqinc/rocketmq:4.4.0
#docker load -i rocketmq-console_0.2.tar
IP=192.168.2.38
local_ip=$IP
#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