部署在/data/目錄下
新建文件夾
mkdir /data/rocketmq/broker/{conf,logs,store} mkdir /data/rocketmq/namesrv/logs mkdir /data/rocketmq/rocketmq-console-ng/logs
1. 安裝 Namesrv
docker pull rocketmqinc/rocketmq:4.4.0 docker run --name rmqnamesrv --restart=always -d -p 9876:9876 -v /data/rocketmq/namesrv/logs:/home/rocketmq/logs -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.4.0 sh mqnamesrv
2. 安裝 broker 服務器
與上步是同一個鏡像,如果上步完成,此步無需拉取
創建 broker.conf 文件
vim /data/rocketmq/broker/conf/broker.conf brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH brokerIP1 = 網卡IP
啟動容器
docker run --name rmqbroker --restart=always -d -p 10911:10911 -p 10909:10909 -v /data/rocketmq/broker/logs:/home/rocketmq/logs -v /data/rocketmq/broker/store:/home/rocketmq/store -v /data/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:4.4.0 sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
3. 安裝 rocketmq 控制台
docker pull styletang/rocketmq-console-ng:1.0.0 docker run -d --restart=always --name rocketmq-console-ng -v /data/rocketmq/rocketmq-console-ng/logs:/root/logs -e "JAVA_OPTS=-Drocketmq.namesrv.addr=網卡IP:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 6080:8080 -t styletang/rocketmq-console-ng:1.0.0
4. 配置nginx,外網訪問
upstream rocketmq { #ip_hash; server 網卡IP:6080; } #nacos.conf server { listen 80; server_name www.rocketmq.com; #charset koi8-r; access_log /var/log/nginx/rocketmq.access.log main; error_log /var/log/nginx/rocketmq.error.log ; location / { proxy_pass http://rocketmq; proxy_pass_header Server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }