搜尋RocketMQ的鏡像,可以通過docker的hub.docker.com上進行搜尋,也可以在Linux下通過docker的search指令進行搜尋,不過最近防火牆更新後,導緻國外的網站打開都很慢,通過指令搜尋反而會更加友善,操作Docker指令一定要是root使用者或者具有root權限的使用者。查詢操作如下:
docker search rocketmq
可以得到如下的結果:
鏡像倒是蠻多的,不過看來看去沒有一個是官方釋出的,我就随便選一個吧,如foxiswho/rocketmq,以下是一個檢視目前鏡像所有的版本shell指令:
curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags\
| tr -d '[\[\]" ]' | tr '}' '\n'\
| awk -F: -v image='foxiswho/rocketmq' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
如果要檢視其它的鏡像,隻需要将其中的鏡像名稱foxiswho/rocketmq替換為其它鏡像即可,執行該指令得到大緻如下結果:
下面的就是分步啟動nameserver和broker。
啟動NameServer:
docker run -d -p 9876:9876 --name rmqserver foxiswho/rocketmq:server-4.5.1
啟動broker:
docker run -d -p 10911:10911 -p 10909:10909\
--name rmqbroker --link rmqserver:namesrv\
-e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt"\
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m"\
foxiswho/rocketmq:broker-4.5.1
Broker容器中預設的配置檔案的路徑為:
/etc/rocketmq/broker.conf
也可以通過-v參數指定本機的配置檔案:
docker run -d -p 10911:10911 -p 10909:10909\
--name rmqbroker --link rmqserver:namesrv\
-e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt"\
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m"\
-v /conf/broker.conf:/etc/rocketmq/broker.conf \
foxiswho/rocketmq:broker-4.5.1
如果一切正常,NameServer和Broker一會兒就會安裝好,為了管理上的友善,rocketmq console也是必不可少的工具了,通過上面查詢的方式找到需要啟動的版本,啟動方式如下:
docker run -d --name rmqconsole -p 8180:8080 --link rmqserver:namesrv\
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876\
-Dcom.rocketmq.sendMessageWithVIPChannel=false"\
-t styletang/rocketmq-console-ng
然後通過如下指令檢查一下啟動情況:
docker ps|grep rocketmq
結果如下:
再通過浏覽器通路localhost:8180,console的頁面顯示如下: