說明:前提是你已經成功安裝了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/ 看到如下界面,表示安裝成功