说明:前提是你已经成功安装了docker.
1.查询docker中有哪些可以使用的mq
docker search rocketmq
如上图所示,我们选取start最多的rocketinc
2.拉取镜像
docker pull rocketmqinc/rocketmq
3.启动namesrv服务
docker run -d -p 9876:9876 -v {RmHome}/data/namesrv/logs:/root/logs -v {RmHome}/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv
其中,{RmHome} 要替换成你的宿主机想保存 MQ 的日志与数据的地方,通过 docker 的 -v 参数使用 volume 功能,把你本地的目录映射到容器内的目录上。否则所有数据都默认保存在容器运行时的内存中,重启之后就又回到最初的起点。
4.启动broker服务
启动之前,你需要在{RmHome}/conf 目录下创建 broker.conf 文件,内容如下:
brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH brokerIP1 = {docker宿主机IP}
启动服务
docker run -d -p 10911:10911 -p 10909:10909 -v {RmHome}/data/broker/logs:/root/logs -v {RmHome}/rocketmq/data/broker/store:/root/store -v {RmHome}/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf
5.安装控制台
运行如下命令获取可用控制台
docker search rocketmq-console
得到如下结果
我们安装25星的styletang/rokcetmq-console-ng
docker pull styletang/rocketmq-console-ng
启动该容器
docker run -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr={docker宿主机ip}:9876 -Drocketmq.config.isVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng
注意java_opts参数因不同的console系统内容可能不同,可以结合console系统中的配置文件做相应修改。
6.启动控制台
在浏览器中输入:http://{docker宿主机ip}:8080/ 看到如下界面,表示安装成功