[Feature🚀] Provide Docker Hub image deployment support
1、The current deployment method is somewhat complicated. We hope to provide Docker one-click deployment to facilitate its promotion and use.
2、Run name server and Run Broker support deployment in the same container or different containers
@huangye123 You can first provide the Docker file file and deploy it directly through the Docker file file. The subsequent Docker Hub image and other overall functions will be provided after they are almost complete.
您可以先提供 Docker 文件文件,然后直接通过 Docker 文件文件进行部署。后续的 Docker Hub 镜像和其他整体功能将在它们接近完成后提供。
Docker deployment has been implemented
1、dockerfile-namesrv
FROM rust:1.75.0
# 设置工作目录为/app
WORKDIR /app
# 复制当前目录下的所有文件到容器的/app目录
COPY rocketmq-namesrv-rust /app
EXPOSE 9876
CMD ["./rocketmq-namesrv-rust"]
docker build -t rocketmq-namesrv-rust . docker run -d --name rocketmq-namesrv rocketmq-namesrv-rust
2、dockerfile-broker
FROM rust:1.75.0
# 设置工作目录为/app
WORKDIR /app
# 复制当前目录下的所有文件到容器的/app目录
COPY rocketmq-broker-rust /app
COPY broker-simple-master.toml /app/broker-simple-master.toml
EXPOSE 10911
CMD ["./rocketmq-broker-rust","-c","broker-simple-master.toml"]
docker build -t rocketmq-broker-rust . docker run -d --name rocketmq-broker rocketmq-broker-rust
3、broker-simple-master.toml
# ======================
# Core Broker Settings
# ======================
brokerRole = "ASYNC_MASTER" # enum BrokerRole: ASYNC_MASTER/AsyncMaster|SYNC_MASTER/SyncMaster|SLAVE/Slave
flushDiskType = "ASYNC_FLUSH"
deleteWhen = 4
fileReservedTime = 72
listenPort = 10911
haListenPort = 10912
storePathRootDir="/opt/rocketmq/store"
# ======================
# Broker Identity
# ======================
[brokerIdentity]
brokerName = "broker-mxsm-a" # default_broker_name()
brokerClusterName = "DefaultCluster-mxsm"
brokerId = 0 # MASTER_ID
autoCreateTopicEnable=true