概述
本次搭建主要使用Dockfile搭建,因为在本地有速度慢和易出错的问题,所以我采取了编写好Dockerfile后交给网易蜂巢进行镜像的搭建。
根据docker提倡的“一个容器一个进程”的思路,我分为namesrv容器和broker容器,搭建途中遇到了一些问题,通过网络资料,涨了很多知识,特此记录一下。
编写Dockerfile构建镜像
分为namesrv镜像和broker镜像
namesrv
#Dockerfile文件内容
#RocketMQ依赖Java环境,因此基于Java镜像进行构建
#修改启动参数-Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m为-Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m,虚拟机内存较小
#9876:消息监听端口
FROM java:8
ENV ROCKETMQ_VERSION 4.2.0
ENV ROCKETMQ_HOME /opt/rocketmq-${
ROCKETMQ_VERSION}
ENV JAVA_OPT " -Duser.home=/opt"
WORKDIR ${
ROCKETMQ_HOME}
RUN mkdir -p /opt/logs /opt/store
RUN curl https://dist.apache.org/repos/dist/release/rocketmq/${
ROCKETMQ_VERSION}/rocketmq-all-${
ROCKETMQ_VERSION}-bin-release.zip -o rocketmq.zip \
&& unzip rocketmq.zip \
&& rm rocketmq.zip \
&& cd ${
ROCKETMQ_HOME}/bin \
&& sed -i 's#-Xms[0-9]\+[gm]#-Xms256m#' runserver.sh \
&& sed -i 's#-Xmx[0-9]\+[gm]#-Xmx256m#' runserver.sh \
&& sed -i 's#-Xmn[0-9]