本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Argon Broker Client 是一个轻量级的消息代理客户端,旨在简化与各类消息代理服务(如 Kafka、RabbitMQ、MQTT 等)的集成过程。该 Docker 镜像封装了客户端核心功能,提供了统一的接口和配置方式,使开发者能够快速部署和使用消息代理客户端,而无需关注复杂的环境配置。
主要用途包括:
docker run -d \ --name argon-broker-client \ -e BROKER_TYPE=kafka \ -e BROKER_URL=kafka-broker:9092 \ -e TOPIC_NAME=test-topic \ -e CLIENT_ROLE=producer \ argon/broker-client:latest
version: '3.8' services: argon-broker-client: image: argon/broker-client:latest container_name: argon-broker-client environment: - BROKER_TYPE=kafka - BROKER_URL=kafka:9092 - TOPIC_NAME=order-events - CLIENT_ROLE=consumer - GROUP_ID=order-service-group - AUTO_OFFSET_RESET=earliest volumes: - ./config:/app/config - ./data:/app/data restart: unless-stopped depends_on: - kafka
| 环境变量名 | 描述 | 可选值 | 默认值 | 是否必填 |
|---|---|---|---|---|
| BROKER_TYPE | 消息代理类型 | kafka, rabbitmq, mqtt, redis | 无 | 是 |
| BROKER_URL | 消息代理连接地址 | 取决于代理类型 | 无 | 是 |
| CLIENT_ROLE | 客户端角色 | producer, consumer, both | 无 | 是 |
| LOG_LEVEL | 日志级别 | trace, debug, info, warn, error | info | 否 |
| CONFIG_FILE | 外部配置文件路径 | 容器内路径 | /app/config/config.yaml | 否 |
| MAX_RETRIES | 最大重试次数 | 数字 | 3 | 否 |
| RETRY_DELAY | 重试延迟(毫秒) | 数字 | 1000 | 否 |
| CONNECT_TIMEOUT | 连接超时(毫秒) | 数字 | 5000 | 否 |
Kafka 特定配置
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
| TOPIC_NAME | Kafka 主题名称 | 无 |
| GROUP_ID | 消费者组 ID | 无 |
| AUTO_OFFSET_RESET | 偏移量重置策略 | latest |
| PARTITION_COUNT | 主题分区数 | 1 |
| REPLICATION_FACTOR | 副本因子 | 1 |
| FETCH_MIN_BYTES | 最小获取字节数 | 1 |
| FETCH_MAX_WAIT_MS | 最大等待时间 | 500 |
RabbitMQ 特定配置
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
| QUEUE_NAME | 队列名称 | 无 |
| EXCHANGE_NAME | 交换机名称 | 无 |
| ROUTING_KEY | 路由键 | 无 |
| EXCHANGE_TYPE | 交换机类型 | direct |
| DURABLE | 是否持久化 | true |
| AUTO_ACK | 是否自动确认 | true |
MQTT 特定配置
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
| TOPIC_FILTER | MQTT 主题过滤器 | 无 |
| QOS_LEVEL | 服务质量等级 | 0 |
| CLEAN_SESSION | 清除会话标志 | true |
| KEEP_ALIVE_INTERVAL | 保活间隔(秒) | 60 |
| WILL_MESSAGE | 遗嘱消息 | 无 |
除了环境变量配置外,还支持通过 YAML 配置文件进行更详细的配置。配置文件默认路径为 /app/config/config.yaml,可以通过 CONFIG_FILE 环境变量指定自定义路径。
示例配置文件 (config.yaml):
broker: type: kafka url: kafka-broker:9092 security: enabled: true tls: cert_file: /app/certs/client.crt key_file: /app/certs/client.key ca_file: /app/certs/ca.crt client: role: consumer name: order-service-client batch_size: 100 max_wait_time: 500 kafka: topic: order-events group_id: order-service-group auto_offset_reset: earliest consumer: fetch_min_bytes: 1024 fetch_max_wait_ms: 1000 producer: acks: all retries: 5 compression_type: gzip logging: level: info format: json file_path: /app/logs/client.log metrics: enabled: true port: 9090 path: /metrics
如需持久化配置文件或数据,可通过挂载卷实现:
docker run -d \ --name argon-broker-client \ -v ./config:/app/config \ -v ./data:/app/data \ -v ./logs:/app/logs \ argon/broker-client:latest
容器内置健康检查机制,可通过以下命令手动检查:
docker exec argon-broker-client /app/healthcheck.sh
# docker-compose.prod.yaml version: '3.8' services: argon-broker-client: image: argon/broker-client:latest container_name: argon-broker-client environment: - BROKER_TYPE=kafka - BROKER_URL=kafka-1:9092,kafka-2:9092,kafka-3:9092 - CLIENT_ROLE=both - CONFIG_FILE=/app/config/prod.yaml - LOG_LEVEL=warn volumes: - ./config/prod.yaml:/app/config/prod.yaml - ./data:/app/data - ./logs:/app/logs - ./certs:/app/certs restart: always healthcheck: test: ["CMD", "/app/healthcheck.sh"] interval: 30s timeout: 10s retries: 3 start_period: 60s deploy: resources: limits: cpus: '1' memory: 512M reservations: cpus: '0.5' memory: 256M
# argon-broker-client-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: argon-broker-client namespace: messaging spec: replicas: 3 selector: matchLabels: app: argon-broker-client template: metadata: labels: app: argon-broker-client spec: containers: - name: argon-broker-client image: argon/broker-client:latest ports: - containerPort: 9090 env: - name: BROKER_TYPE value: "kafka" - name: CLIENT_ROLE value: "consumer" - name: LOG_LEVEL value: "info" volumeMounts: - name: config-volume mountPath: /app/config - name: cert-volume mountPath: /app/certs readOnly: true livenessProbe: httpGet: path: /health port: 9090 initialDelaySeconds: 60 periodSeconds: 30 readinessProbe: httpGet: path: /ready port: 9090 initialDelaySeconds: 10 periodSeconds: 5 resources: limits: cpu: "1" memory: "512Mi" requests: cpu: "500m" memory: "256Mi" volumes: - name: config-volume configMap: name: argon-broker-client-config - name: cert-volume secret: secretName: broker-tls-cert
BROKER_URL 配置是否正确docker exec 进入容器测试)查看容器日志:
docker logs -f argon-broker-client
查看特定时间段日志:
docker logs --since 30m argon-broker-client
最新稳定版本:v1.2.0
更新日志摘要:
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429