
如果你使用 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 Kafka实例,针对Docker和Kubernetes环境进行了优化。
源码:https://github.com/hpcloud-mon/monasca-docker/blob/master/kafka/ · https://github.com/hpcloud-mon/monasca-docker/blob/master/kafka/Dockerfile · https://github.com/hpcloud-mon/monasca-docker/
此仓库中的镜像标签如下:
[kafka版本]-[scala版本],例如 0.9.0.1-2.11latest:与其他Monasca组件配合使用的推荐最新版本,当前为 0.9.0.1-2.11master:开发/测试构建,不一定适用于生产环境Kafka需要运行中的Zookeeper实例。推荐使用https://hub.docker.com/r/library/zookeeper/:
bashdocker run --name zookeeper -d zookeeper:3.3
如果Zookeeper可通过 zookeeper:2181 访问,则无需指定额外选项:
bashdocker run --name kafka --link zookeeper monasca/kafka:latest
Kafka默认在端口 9092 运行。如果启用JMX,还会开放默认端口 7203。可根据需要暴露这些端口(如 -p 9092:9092),但需注意端口转发可能影响连接性,除非按以下说明正确设置 KAFKA_ADVERTISED_HOST_NAME。
可通过环境变量指定多个参数:
| 变量 | 默认值 | 描述 |
|---|---|---|
ZOOKEEPER_CONNECTION_STRING | zookeeper:2181 | Zookeeper主机的逗号分隔列表 |
ZOOKEEPER_WAIT | true | 若为true,等待Zookeeper就绪 |
ZOOKEEPER_WAIT_TIMEOUT | 3 | Zookeeper等待循环的连接超时时间 |
ZOOKEEPER_WAIT_DELAY | 10 | 连接尝试之间的等待秒数 |
ZOOKEEPER_WAIT_RETRIES | 20 | Zookeeper连接尝试的最大次数 |
ZOOKEEPER_CHROOT | 未设置 | 可选的Zookeeper chroot/路径前缀 |
KAFKA_HOSTNAME_FROM_IP | true | 若为true,将通告主机名设为容器IP |
KAFKA_ADVERTISED_HOST_NAME | 来自IP | 若设置,使用该值作为通告主机名 |
KAFKA_BROKER_ID | -1 | Kafka broker唯一ID,-1 表示自动生成 |
KAFKA_LISTEN_PORT | 9092 | Kafka监听端口 |
KAFKA_ADVERTISED_PORT | $KAFKA_LISTEN_PORT | 向客户端通告的Kafka端口 |
KAFKA_CONTROLLED_SHUTDOWN_ENABLE | true | 若为true,启用受控关闭 |
KAFKA_JMX | 未设置 | 若为true,通过TCP暴露JMX指标 |
KAFKA_JMX_PORT | 7203 | 暴露JMX指标的端口 |
KAFKA_JMX_OPTS | 无SSL/认证等 | 覆盖默认JMX选项 |
SERVER_LOG_LEVEL | INFO | 服务器日志级别 |
REQUEST_LOG_LEVEL | WARN | 请求日志级别 |
CONTROLLER_LOG_LEVEL | INFO | 控制器日志级别 |
LOG_CLEANER_LOG_LEVEL | INFO | 日志清理器日志级别 |
STATE_CHANGE_LOG_LEVEL | INFO | 状态变更日志级别 |
AUTHORIZER_LOG_LEVEL | WARN | 授权器日志级别 |
GC_LOG_ENABLED | False | 若为True,启用JVM垃圾回收日志 |
KAFKA_STACK_SIZE | 1024k | JVM栈大小 |
LOG_RETENTION_HOURS | 4 | 日志文件保留小时数 |
LOG_ROLL_MS | 900000 | 新日志段滚动输出前的毫秒数 |
STAY_ALIVE_ON_FAILURE | false | 若为true,Kafka退出后容器保持存活2小时 |
多个Kafka日志文件输出到容器的stdout,可通过每条消息中的logfile属性区分。例如:
kafka_1 | [2017-06-15 06:32:09,572] INFO logfile=server.log Loading logs. (kafka.log.LogManager)
若 GC_LOG_ENABLED 设置为True,JVM垃圾回收日志将写入容器内的 /kafka/logs/kafkaServer-gc.log,无法重定向到stdout。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 monasca/kafka 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: