
lhstack/rocketmqdocker-compose.yml
yamlversion: '3' services: dashboard: container_name: dashboard image: lhstack/rocketmq:dashboard-5.1.0 ports: - '8080:8080' environment: NAMESRV_ADDRS: "192.168.3.188:9876,192.168.3.188:9886" # 多个namesrv地址用,隔开 ACCESS_KEY: "RocketMq" # 开启了acl后使用 SECRET_KEY: "***" # 开启了acl后使用 USE_TLS: true # 是否启用tls LOGIN_REQUIRED: true #设置是否需要登录,对应环境变量DATA/users.properties ##users.properties # admin=admin,1 #1: 超级管理员 # user1=user1 # user1=user1,0 #0: 普通用户 DATA: /root/data #数据保存路径 MSG_TRACK_TOPIC_NAME: "test-track-topic" # 自定义消息轨迹topic,生产者和消费者如果使用了消息轨迹功能,如果需要在这个上面发送消息,并且开启消费轨迹,则三端需一致 deploy: resources: limits: cpus: 50m memory: 512M logging: options: max-size: 1k max-file: 1
docker-compose.yml
yamlversion: '3' services: namesrv: container_name: namesrv image: lhstack/rocketmq:4.9.3-alpine environment: JAVA_OPT: "-Xmx64m -Xms64m -XX:MaxMetaspaceSize=32m" logging: options: max-file: '1' max-size: '16k' restart: always ports: - '9886:9886' deploy: resources: limits: cpus: '0.5' memory: '128M' networks: rocketmq: ipv4_address: 168.128.98.76 command: - sh - -c - | cat >/namesrv.properties<<EOF listenPort=9886 useEpollNativeSelector=true EOF mqnamesrv -c /namesrv.properties broker: container_name: broker image: lhstack/rocketmq:4.9.3-alpine environment: JAVA_OPT: "-Xmx384m -Xms384m -XX:MaxMetaspaceSize=128m" depends_on: - namesrv logging: options: max-file: '1' max-size: '16k' restart: always deploy: resources: limits: cpus: '0.5' memory: '512M' network_mode: host command: - sh - -c - | cat > /broker.conf<<EOF brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH aclEnable = false listenPort = *** namesrvAddr = 168.128.98.76:9886 EOF mqbroker -c /broker.conf networks: rocketmq: driver: bridge ipam: driver: default config: - subnet: '168.128.0.0/16'
rocketmq.yml
yamlapiVersion: v1 kind: Service metadata: name: rocketmq-namesrv spec: type: ClusterIP ports: - name: tcp port: 9876 selector: app: rocketmq-namesrv --- apiVersion: v1 kind: ConfigMap metadata: name: rocketmq data: namesrv.properties: | listenPort=9876 useEpollNativeSelector=true broker.conf: | brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH aclEnable = true listenPort = *** namesrvAddr = rocketmq-namesrv.default.svc.cluster.local:9876 plain-acl.yml: | globalWhiteRemoteAddresses: accounts: - accessKey: RocketMq secretKey: *** whiteRemoteAddress: admin: true - accessKey: TestAccount secretKey: TestSecret whiteRemoteAddress: admin: false defaultTopicPerm: DENY defaultGroupPerm: SUB topicPerms: - topicA=DENY groupPerms: - groupA=DENY --- apiVersion: v1 kind: Pod metadata: name: rocketmq-namesrv labels: app: rocketmq-namesrv spec: volumes: - name: conf configMap: name: rocketmq items: - key: namesrv.properties path: namesrv.properties containers: - name: rocketmq-namesrv image: lhstack/rocketmq imagePullPolicy: IfNotPresent volumeMounts: - name: conf mountPath: /namesrv.properties subPath: namesrv.properties resources: requests: cpu: 10m memory: 32Mi limits: cpu: 20m memory: 64Mi ports: - name: tcp containerPort: 9876 env: - name: JAVA_OPT value: "-Xmx64m -Xms64m -Xmn1m" command: - sh - -c - | mqnamesrv -c /namesrv.properties --- apiVersion: apps/v1 kind: Deployment metadata: name: rocketmq-broker spec: replicas: 1 selector: matchLabels: app: rocketmq-broker template: metadata: labels: app: rocketmq-broker spec: volumes: - name: conf configMap: name: rocketmq items: - key: broker.conf path: broker.conf - name: plain configMap: name: rocketmq items: - key: plain-acl.yml path: plain-acl.yml - name: data hostPath: path: /home/rocketmq/data containers: - name: rocketmq-broker image: lhstack/rocketmq imagePullPolicy: IfNotPresent ports: - name: tcp containerPort: *** resources: requests: cpu: 50m memory: 128Mi limits: cpu: 100m memory: 1.2Gi env: - name: JAVA_OPT value: "-Xmx1g -Xms1g" volumeMounts: - name: data mountPath: /root - name: conf mountPath: /broker.conf subPath: broker.conf - name: plain mountPath: /rocketmq/conf/plain_acl.yml subPath: plain-acl.yml command: - sh - -c - mqbroker -c /broker.conf



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务