在docker中安装RocketMQ

发布于:2025-04-07 ⋅ 阅读:(19) ⋅ 点赞:(0)

第一步你需要有镜像包,这个2023年的时候docker就不能用pull拉取镜像了,需要你自己找

第二步我用的是FinalShell,用别的可视化界面也用,

在你自己平时放镜像包的地方创建一个叫rocketmq的文件夹,放入镜像包后,创建一个叫Dockerfile的文件,进入文件把下面的代码写入

cd /opt/rocketmq
touch Dockerfile
vim Dockerfile
# 使用基础镜像,这里选择本地已有的 OpenJDK 8
FROM openjdk:8

# 作者信息
LABEL maintainer="your_email@example.com"

# 创建RocketMQ目录
RUN mkdir -p /opt/rocketmq

# 将本地的压缩包复制到镜像中的指定目录
COPY rocketmq-all-4.9.3-bin-release.zip /opt/rocketmq

# 解压压缩包
RUN cd /opt/rocketmq && unzip rocketmq-all-4.9.3-bin-release.zip && rm rocketmq-all-4.9.3-bin-release.zip

# 赋予 mqnamesrv 脚本可执行权限
RUN chmod +x /opt/rocketmq/rocketmq-4.9.3/bin/mqnamesrv

# 设置环境变量
ENV ROCKETMQ_HOME=/opt/rocketmq/rocketmq-4.9.3
ENV PATH=$PATH:$ROCKETMQ_HOME/bin

# 暴露NameServer和Broker的端口
EXPOSE 9876 10909 10911

# 启动NameServer的命令
CMD ["sh", "-c", "$ROCKETMQ_HOME/bin/mqnamesrv"]

 

然后就是打包成镜像

docker build -t rocketmq:4.9.3 .

在之后打包容器

docker run -d \
--name rmqnamesrv \
-p 9876:9876 \
-v /home/rocketmq/data/namesrv/logs:/root/logs \
-v /home/rocketmq/data/namesrv/store:/root/store \
-e "MAX_POSSIBLE_HEAP=100000000" \
rocketmq:4.9.3

用下面的命令就可以查看创建好的容器和镜像

docker ps//查看容器

docker images //查看镜像

红色箭头就是我们的镜像和容器

​​​​​​​