一、用途
BIM轻量化引擎业务引入,轻量化任务消息,技术上可以改造成rocketmq
二、Dockerfile
该镜像由于官方镜像有些变量缺陷,同时第三方镜像版本较老阿里云扫描出来有漏洞,故索性拿到github的源代码自己做了一个,如后续还需改造镜像,可以按照这个以下思路来
dockerhub上找到原版镜像webcenter/activemq:5.14.3
根据提示,找到github源代码:https://www.github.com/disaster37/activemq,修改Dockerfile如下:
##18.04是测试出来的版本,太高默认python3,执行不了原作者的python2脚本,太低apt-get装不了jdk11
FROM ubuntu:18.04
ENV ACTIVEMQ_CONFIG_DIR /opt/activemq/conf.tmp
ENV ACTIVEMQ_DATA_DIR /data/activemq
##这个文件里面的下载源换成了国内源
COPY sources.list /etc/apt/sources.list
##安装openjdk11及python等依赖
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install --no-install-recommends -y openjdk-11-jdk python-testtools python-nose python-pip vim curl supervisor logrotate locales && \
apt-get install locales -y && \
update-locale LANG=C.UTF-8 LC_MESSAGES=POSIX && \
locale-gen en_US.UTF-8 && \
dpkg-reconfigure locales && \
apt-get clean all && \
rm -rf /var/lib/apt/lists/*
# Install stompy,不先执行setup.py会报错找不到setuptools工具
RUN curl -O https://bootstrap.pypa.io/ez_setup.py && \
python ez_setup.py && \
pip install stomp.py
# Lauch app install
COPY assets/setup/ /app/setup/
RUN chmod +x /app/setup/install
##这个install里面我加了一行sed -i 改了jetty.xml里控制台的监听地址,activemq的版本也在这里面,在这个文件里面改activemq版本
RUN /app/setup/install
# Copy the app setting
COPY assets/entrypoint /app/
COPY assets/run.sh /app/run.sh
RUN chmod +x /app/run.sh
# Expose all port
EXPOSE 8161
EXPOSE 61616
EXPOSE 5672
EXPOSE 61613
EXPOSE 1883
EXPOSE 61614
# Expose some folders
VOLUME ["/data/activemq"]
VOLUME ["/var/log/activemq"]
VOLUME ["/opt/activemq/conf"]
WORKDIR /opt/activemq
CMD ["/app/run.sh"]
三、运行脚本
###测试、预发、正式都为docker方式单点一键搭建
###使用环境变量传入密码
[root@zhgd-etl-middleware-pre middleware]# cat activemq.sh
docker rm -f activemq
docker run --name activemq -itd -h mq \
--restart always \
--privileged \
-e 'ACTIVEMQ_ADMIN_LOGIN=admin' \
-e 'ACTIVEMQ_ADMIN_PASSWORD=Pinming@1024' \
-e 'ACTIVEMQ_CONFIG_MINMEMORY=1024' \
-e 'ACTIVEMQ_CONFIG_MAXMEMORY=4096' \
-p 8161:8161 -p 61616:61616 -p 61613:61613 \
-v /alidata/app/activemq/mq-data:/data/activemq \
-v /alidata/app/activemq/log:/var/log/activemq \
swr.cn-east-3.myhuaweicloud.com/syh/activemq:5.17.3
四、控制台访问
以访问测试环境activemq为例,需在浏览器中输入以下方式访问:http://10.70.238.247:8161