#!/bin/bash
if [ "$1" = 'mqnamesrv' ]; then
exec /var/lib/rocketmq/bin/mqnamesrv
fi
if [ "$1" = 'mqbroker' ]; then
if [ ! -f /var/lib/rocketmq/conf/init ]; then
echo "brokerIP1 = ${BROKER_IP}" >> /var/lib/rocketmq/conf/broker.conf
touch /var/lib/rocketmq/conf/init
fi
exec /var/lib/rocketmq/bin/mqbroker -c /var/lib/rocketmq/conf/broker.conf "$@"
fi
exec "$@"
FROM java:8
COPY ./rocketmq-4.9.3 /var/lib/rocketmq
ENV ROCKETMQ_DATA="/var/lib/rocketmq/data"
ENV JAVA_OPT="-Duser.home=${ROCKETMQ_DATA}"
WORKDIR /var/lib/rocketmq
USER root
VOLUME /var/lib/rocketmq/data
EXPOSE 9876
EXPOSE 10909 10911
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
docker run -d \
--name mqnamesrv \
--restart=always \
-p 9876:9876 \
-v $(pwd)/data/mqnamesrv:/var/lib/rocketmq/data \
276726581/rocketmq:4.9.3 \
mqnamesrv
docker run -d \
--name mqbroker \
--restart=always \
-e "BROKER_IP=127.0.0.1" \
-p 10911:10911 \
-p 10909:10909 \
-v $(pwd)/data/mqbroker:/var/lib/rocketmq/data \
276726581/rocketmq:4.9.3 \
mqbroker -n 127.0.0.1:9876
docker run -d \
--name rocketmq-dashboard \
--restart=always \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876" \
-p 8080:8080 \
apacherocketmq/rocketmq-dashboard
1.mqbroker将端口10911注册到mqnamesrv
2.Producer和Consumer从mqnamesrv获取mqbroker
Content type
Image
Digest
Size
260 MB
Last updated
over 4 years ago
docker pull 276726581/rocketmq:4.9.3