天天看點

Docker中RocketMQ的安裝與使用

搜尋RocketMQ的鏡像,可以通過docker的hub.docker.com上進行搜尋,也可以在Linux下通過docker的search指令進行搜尋,不過最近防火牆更新後,導緻國外的網站打開都很慢,通過指令搜尋反而會更加友善,操作Docker指令一定要是root使用者或者具有root權限的使用者。查詢操作如下:

docker search rocketmq
           

可以得到如下的結果:

Docker中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替換為其它鏡像即可,執行該指令得到大緻如下結果:

Docker中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
           

結果如下:

Docker中RocketMQ的安裝與使用

再通過浏覽器通路localhost:8180,console的頁面顯示如下:

Docker中RocketMQ的安裝與使用

繼續閱讀