在本地通过Docker安装RocketMQ

Ahci / 2024-09-04 / 原文

拉取镜像 & 部署

这里选用 foxiswho/rocketmq:server-4.5.1 版本,在官方镜像没出来前,foxiswho是一个比较靠谱的第三方镜像。
执行下面的命令直接启动Name Server。

docker run -d -p 9876:9876 --name rmqnamesrv foxiswho/rocketmq:server-4.5.1

接下来执行下面的命令启动Broker,注意 --link 命令将刚才部署的Name Server容器链接到了当前容器,如果你修改了上面命令中 --name 参数的值,记得在这里也要改成对应的。

docker run -d --name rmqbroker \
    -p 10911:10911 \
    -p 10909:10909 \
    --link rmqnamesrv:namesrv \
    -e "NAMESRV_ADDR=namesrv:9876" \
    -e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m" \
    foxiswho/rocketmq:broker-4.5.1

现在RocketMQ已经可以正常使用了。

控制台

如果你需要控制台,可以使用下面的命令部署。
因为是本地部署,所以使用宿主机的8090端口映射容器的8080端口,如果有需要可以自行变更。这里也通过 --link 命令链接了之前的Name Server,如果你修改了,记得在这里也要改成对应的。

docker run -d --name rmqdashboard \
    -p 8090:8080 \
    --link rmqnamesrv:namesrv \
    -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876" \
    apacherocketmq/rocketmq-dashboard:latest