镜像
rocketmq-mqtt镜像http://链接:https://pan.baidu.com/s/17VNiCAUytpeDq7iU4SURUw?pwd=zlyhdocker 安装 rocketmq-mqtt-CSDN博客
Dockerfile
FROM centos:7
# 安装必要的软件
RUN yum -y install wget java-1.8.0-openjdk-devel && \
yum clean all && \
rm -rf /var/cache/yum/*
# 设置工作目录
WORKDIR /usr/local/rocketmq-mqtt
# 复制解压包目录下的文件到镜像中
COPY rocketmq-mqtt-1.0.2-SNAPSHOT /usr/local/rocketmq-mqtt
# 设置环境变量
ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
ENV PATH=$PATH:$JAVA_HOME/bin
# 设置脚本权限
RUN chmod +x /usr/local/rocketmq-mqtt/bin/meta.sh
RUN chmod +x /usr/local/rocketmq-mqtt/bin/mqtt.sh
RUN chmod +x /usr/local/rocketmq-mqtt/bin/start.sh
CMD sh /usr/local/rocketmq-mqtt/bin/start.sh
# 暴露端口
EXPOSE 25000 1884
创建start.sh 运行 meta.sh与mqtt.sh 服务,内容如下
#!/bin/ba
sh /usr/local/rocketmq-mqtt/bin/meta.sh start &
sh /usr/local/rocketmq-mqtt/bin/mqtt.sh start# 创建前台运行进程,避免docker 容器启动退出
touch /usr/local/a
tail -f /usr/local/a
构建镜像
#在Dockerfile同路径下执行
docker build -t rocketmq-mqtt:1.0.2 .
创建容器实例
# 创建文件挂载目录
mkdir -p /app/rocketmq-mqtt
#创建临时容器实例
docker run -d -p 25000:25000 -p 1884:1884 --name rocketmq-mqtt rocketmq-mqtt:1.0.2
# 将容器中的配置文件夹复制到宿主机
docker cp rocketmq-mqtt:/usr/local/rocketmq-mqtt/conf /app/rocketmq-mqtt/conf
#删除临时容器
docker rm -f rocketmq-mqtt
# 运行实例
docker run -d --restart=always --name rocketmq-mqtt \
-p 1884:1884 -p 25000:25000 \
-v /app/rocketmq-mqtt/conf:/usr/local/rocketmq-mqtt/conf \
rocketmq-mqtt:1.0.2