菜单

JIaLoNg
JIaLoNg
发布于 2023-06-26 / 151 阅读 / 0 评论 / 0 点赞

Docker安装RocketMQ

1. 构建utf+8时区镜像

  1. 创建工作目录
  2. 下载tzdata文件
  3. 配置Dockerfile
FROM ubuntu:jammy  
WORKDIR /opt  
COPY tzdata_2023c-0ubuntu0.22.04.2_all.deb ./  
RUN dpkg -i tzdata_2023c-0ubuntu0.22.04.2_all.deb \  
&& ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \  
&& echo "Asia/Shanghai" > /etc/timezone \  
&& rm tzdata_2023c-0ubuntu0.22.04.2_all.deb  
  1. 构建镜像
docker build -t ubuntu-zh .  

2. 构建jdk镜像

  1. 创建工作目录
  2. 下载jdk-17文件
  3. 配置Dockerfile
FROM ubuntu-zh as jdk17-temp
WORKDIR /opt
COPY jdk-17_linux-x64_bin.tar.gz .
RUN  tar -zxf jdk-17_linux-x64_bin.tar.gz \	
	&& mkdir /usr/lib/jvm/ \
	&& mv jdk-17 /usr/lib/jvm

FROM ubuntu-zh
COPY --from=jdk17-temp /usr/lib/jvm/ /usr/lib/jvm/
ENV JAVA_HOME /usr/lib/jvm/jdk-17
ENV PATH $JAVA_HOME/bin:$PATH
  1. 构建镜像
docker build -t jdk17:1.0 .

3.构建rocketmq镜像

  1. 创建工作目录
  2. 下载rocketmq文件
  3. 配置dockerfile
FROM jdk17:1.0 as rocketmq
WORKDIR /opt
COPY rocketmq-5.1.2.tar .
RUN tar -xf rocketmq-5.1.2.tar 

FROM jdk17:1.0
COPY --from=rocketmq /opt/rocketmq-5.1.2/ /opt/rocketmq-5.1.2/
ENV PATH /opt/rocketmq-5.1.2/bin:$PATH 
  1. 构建镜像
docker build -t rockermq-cj:1.0 .
  1. 启动NameServer
docker run -itd --name=rocketmq-namesrv --net=host --restart=always rocketmq-cj:1.0 mqnamesrv  
  1. 启动Broker
docker run -itd --name=rocketmq-broker --net=host --restart=always --mount type=bind,source=/tmp/rocketmq/store,target=/root/store rocketmq-cj:1.0 mqbroker -n 172.17.0.1:9876  
  1. 启动Dashboard
docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=172.17.0.1:9876" -p 9080:8080 -t apacherocketmq/rocketmq-dashboard:latest

tips

  1. 修改broker内存配置,编辑/bin/runbroker.sh,修改 JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g"

评论