
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Apache EventMesh 是一款开源的云原生分布式事件驱动架构(EDA)基础设施,旨在为微服务应用提供高效、可靠的跨服务事件通信能力。本 Docker 镜像封装了 Apache EventMesh 运行环境,简化了部署流程,支持快速集成到容器化应用架构中。
主要用途:
微服务解耦
作为事件总线替代同步 RPC,实现服务间异步通信,降低依赖耦合。
实时数据处理
接收日志、监控、用户行为等实时数据流,转发至分析引擎(如 Flink、Spark)。
跨系统集成
连接异构系统(如传统应用与云服务),通过协议转换实现事件互通。
业务流程编排
基于事件链触发多步骤业务流程(如订单创建→库存扣减→物流通知)。
云原生应用部署
在 Kubernetes 集群中作为 DaemonSet/Deployment 部署,提供集群级事件通信能力。
从 Docker Hub 或 Apache 官方仓库拉取镜像:
bash# 格式:docker pull [镜像仓库]/apache-eventmesh:[版本] # 示例(假设官方标签为 1.10.0): docker pull apache/eventmesh:1.10.0
2.1 单机快速启动(默认配置)
以 HTTP 协议启动,监听 *** 端口:
bashdocker run -d \ --name eventmesh \ -p 10000:10000 \ apache/eventmesh:1.10.0
2.2 指定协议和端口
通过环境变量配置运行参数(以 Kafka 协议为例):
bashdocker run -d \ --name eventmesh-kafka \ -p 9876:9876 \ # Kafka 协议端口 -e EVENTMESH_PROTOCOL=kafka \ -e EVENTMESH_PORT=9876 \ -e KAFKA_BOOTSTRAP_SERVERS=kafka:9092 \ # 关联 Kafka 服务地址 apache/eventmesh:1.10.0
以下示例集成 Apache EventMesh 与 Kafka,实现事件生产与消费闭环:
yaml# docker-compose.yml version: '3.8' services: # Kafka 服务(事件存储与转发依赖) kafka: image: confluentinc/cp-kafka:7.3.0 container_name: kafka ports: - "9092:9092" environment: KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 depends_on: - zookeeper zookeeper: image: confluentinc/cp-zookeeper:7.3.0 container_name: zookeeper ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 # Apache EventMesh 服务 eventmesh: image: apache/eventmesh:1.10.0 container_name: eventmesh ports: - "9876:9876" # Kafka 协议端口 - "10000:10000" # HTTP 协议端口(可选) environment: EVENTMESH_PROTOCOL: kafka # 启用 Kafka 协议 EVENTMESH_PORT: 9876 KAFKA_BOOTSTRAP_SERVERS: kafka:9092 # 连接上述 Kafka 服务 EVENTMESH_LOG_LEVEL: INFO # 日志级别 depends_on: - kafka restart: unless-stopped
启动命令:
bashdocker-compose up -d
如需自定义详细配置(如事件路由规则、认证参数),可通过挂载本地配置文件覆盖容器内默认配置:
bashdocker run -d \ --name eventmesh-custom \ -p 10000:10000 \ -v /本地路径/eventmesh.properties:/opt/eventmesh/conf/eventmesh.properties \ # 主配置文件 -v /本地路径/routes.yaml:/opt/eventmesh/conf/routes.yaml \ # 事件路由规则 apache/eventmesh:1.10.0
事件持久化依赖外部存储(如 Kafka、RocketMQ 或数据库),需通过环境变量或配置文件指定存储地址。示例:
bashdocker run -d \ --name eventmesh-persistent \ -e EVENTMESH_STORAGE_TYPE=kafka \ -e KAFKA_BOOTSTRAP_SERVERS=192.168.1.100:9092 \ # 外部 Kafka 集群地址 -e EVENTMESH_PERSIST_RETRY_TIMES=3 \ # 事件持久化重试次数 apache/eventmesh:1.10.0
| 环境变量名 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
EVENTMESH_PROTOCOL | 启用的通信协议 | http | http, kafka, rocketmq, rabbitmq |
EVENTMESH_PORT | 服务监听端口 | 10000 | 自定义端口(如 9876、5555) |
EVENTMESH_LOG_LEVEL | 日志级别 | INFO | DEBUG, INFO, WARN, ERROR |
EVENTMESH_STORAGE_TYPE | 事件持久化类型 | memory | memory, kafka, rocketmq |
KAFKA_BOOTSTRAP_SERVERS | Kafka 集群地址(协议为 Kafka 时必填) | - | 如 kafka1:9092,kafka2:9092 |
ROCKETMQ_NAMESRV_ADDR | RocketMQ NameServer 地址 | - | 如 rocketmq:9876 |
EVENTMESH_CLUSTER_MODE | 是否启用集群模式 | false | true, false |
EVENTMESH_MAX_EVENT_SIZE | 单事件最大大小(字节) | 1048576 (1MB) | 自定义数值(如 2097152) |
容器内默认配置文件路径:/opt/eventmesh/conf/,主要文件包括:
eventmesh.properties:主配置(协议、端口、线程池等)routes.yaml:事件路由规则(按主题、标签转发)security.properties:认证授权配置(如 Token、TLS)-p 映射端口至宿主机--net=host)bash# 创建自定义网络 docker network create eventmesh-net # 连接网络启动服务 docker run -d --name eventmesh --net eventmesh-net apache/eventmesh:1.10.0
通过容器名访问同一网络内的依赖服务(如 Docker Compose 示例中的 kafka:9092),无需暴露宿主机端口。
docker logs eventmesh 查看日志,确认端口是否被占用,修改 EVENTMESH_PORT 解决。KAFKA_BOOTSTRAP_SERVERS 等地址是否正确,确保依赖服务(如 Kafka)已启动且网络连通。docker exec -it eventmesh cat /opt/eventmesh/conf/[文件] 检查容器内配置。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务