轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
wurstmeister/kafka
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

kafka Docker 镜像下载 - 轩辕镜像

kafka 镜像详细信息和使用指南

kafka 镜像标签列表和版本信息

kafka 镜像拉取命令和加速下载

kafka 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

kafka
wurstmeister/kafka
自动构建

kafka 镜像详细信息

kafka 镜像标签列表

kafka 镜像使用说明

kafka 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

支持多代理的Apache Kafka Docker镜像,用于部署和运行分布式Kafka集群,适用于高吞吐量消息传递与流处理场景。
1588 收藏0 次下载activewurstmeister镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

kafka 镜像详细说明

kafka 使用指南

kafka 配置说明

kafka 官方文档

wurstmeister/kafka 镜像文档

镜像概述和主要用途

wurstmeister/kafka 是一个基于 Apache Kafka 的 Docker 镜像,提供了 Docker 化的 Kafka 部署方案。该镜像支持多 Broker 集群部署,可灵活配置 Broker 参数、网络监听规则和主题管理,适用于开发、测试及生产环境中快速搭建和扩展 Kafka 集群。镜像已发布至 Docker Hub,支持自动创建主题、动态扩展 Broker 节点及集成 ZooKeeper 等核心功能。

核心功能和特性

  • 多 Broker 集群支持:通过 docker-compose scale 快速扩展集群节点数量。
  • 灵活的 Broker ID 配置:支持手动指定或通过命令自动生成 Broker ID,适配动态扩缩容场景。
  • 自动主题创建:可通过环境变量预定义主题,指定分区数、副本数及清理策略。
  • 多网络监听器配置:支持内外网流量隔离,适配不同协议(如 PLAINTEXT、SSL)的监听需求。
  • 动态广告地址/端口:通过命令动态获取主机名或端口,解决容器网络环境下的地址暴露问题。
  • Broker Rack 亲和性:支持通过环境变量或命令配置 Broker 机架信息,优化数据副本分布。
  • JMX 监控集成:可配置 JMX 参数,支持外部监控工具接入。
  • 自定义 Kafka 参数:通过环境变量直接覆盖 Kafka 配置(如 KAFKA_MESSAGE_MAX_BYTES)。
  • log4j 配置定制:通过 LOG4J_ 前缀环境变量自定义日志配置。
  • Docker Swarm 适配:支持 Swarm 模式下的全局部署和主机网络绑定,确保外部连接稳定性。

使用场景和适用范围

  • 开发/测试环境:快速搭建单节点或多节点 Kafka 集群,无需手动配置复杂依赖。
  • 动态扩缩容场景:需要根据负载动态调整 Broker 数量的生产环境。
  • 网络隔离需求:需区分内外网访问(如内部 Broker 通信与外部客户端接入)的场景。
  • 自动化主题管理:通过环境变量预定义主题,避免手动执行 kafka-topics.sh 命令。
  • 容器编排集成:适配 Docker Compose、Docker Swarm 等容器编排工具,简化集群部署流程。

详细的使用方法和配置说明

前置条件

  1. 安装 Docker Compose:参考 官方文档 安装。
  2. 配置网络参数:
    • 修改 docker-compose.yml 中的 KAFKA_ADVERTISED_HOST_NAME 为 Docker 主机 IP(不可使用 localhost/127.0.0.1,否则多 Broker 集群无法通信)。
    • 如需自定义 Kafka 参数(如消息最大字节数),直接添加环境变量(例如 KAFKA_MESSAGE_MAX_BYTES: 2000000)。
  3. 网络连接注意事项:容器网络配置可能存在端口映射、跨主机通信等问题,详细参考 Connectivity Guide。

基本使用方法

启动集群

使用默认配置启动单节点集群(含 ZooKeeper):

# 下载官方 docker-compose.yml
curl -O [***]

# 修改 KAFKA_ADVERTISED_HOST_NAME 为 Docker 主机 IP
# 启动集群(后台运行)
docker-compose up -d

扩展 Broker 节点

# 扩展至 3 个 Broker 节点
docker-compose scale kafka=3

停止集群

# 停止并保留容器(数据持久化)
docker-compose stop

# 停止并删除容器(数据不保留)
docker-compose down

关键配置说明

1. Broker ID 配置

Broker ID 用于标识集群中的节点,支持两种配置方式:

  • 手动指定:通过 KAFKA_BROKER_ID 环境变量直接设置(适用于固定节点数量场景)。

    environment:
      KAFKA_BROKER_ID: 1  # 固定 Broker ID 为 1
    
  • 自动生成:通过 BROKER_ID_COMMAND 执行命令生成(适用于动态扩缩容场景)。

    environment:
      BROKER_ID_COMMAND: "hostname | awk -F'-' '{print $2}'"  # 从容器 hostname 提取 ID
    

注意:自动生成 ID 时,建议使用 docker-compose up --no-recreate 避免容器重建导致 ID 变化。

2. 自动创建主题

通过 KAFKA_CREATE_TOPICS 环境变量预定义主题,格式为:
"主题名:分区数:副本数[:清理策略]",多主题用逗号分隔(可通过 KAFKA_CREATE_TOPICS_SEPARATOR 自定义分隔符)。

示例:

environment:
  KAFKA_CREATE_TOPICS: "Topic1:3:2,Topic2:1:1:compact"  # Topic1:3分区2副本;Topic2:1分区1副本,清理策略为 compact
  KAFKA_CREATE_TOPICS_SEPARATOR: "$$'\n'"  # 可选,使用换行符分隔主题(需符合 Docker Compose 转义规则)

3. 广告主机名/端口配置

容器环境中需将 Broker 地址暴露给外部客户端,支持动态获取主机名或端口:

  • 广告主机名(Advertised Hostname):

    • 手动指定:KAFKA_ADVERTISED_HOST_NAME: 192.168.1.100

    • 自动获取:通过 HOSTNAME_COMMAND 执行命令(如 AWS 元数据服务):

      environment:
        HOSTNAME_COMMAND: "wget -t3 -T2 -qO- [***]"  # 获取 AWS 实例私有 IP
      
  • 广告端口(Advertised Port):

    • 动态获取:通过 PORT_COMMAND 提取容器映射端口:

      environment:
        PORT_COMMAND: "docker port $$(hostname) 9092/tcp | cut -d: -f2"  # 获取 9092 端口的宿主机映射端口
        KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://192.168.1.100:_{PORT_COMMAND}"  # 引用 PORT_COMMAND 结果
      

4. 监听器配置

Kafka 0.9+ 支持多监听器配置,用于区分内外网流量或不同协议(如 PLAINTEXT/SSL)。需配置以下参数:

参数说明示例
KAFKA_LISTENERS监听地址列表(格式:协议://地址:端口)INSIDE://:9092,OUTSIDE://:9094
KAFKA_ADVERTISED_LISTENERS客户端可见的监听地址列表INSIDE://:9092,OUTSIDE://{IP}:9094
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP协议与安全策略映射INSIDE:PLAINTEXT,OUTSIDE:SSL
KAFKA_INTER_BROKER_LISTENER_NAMEBroker 间通信使用的协议名INSIDE

示例配置(AWS 环境):

environment:
  HOSTNAME_COMMAND: "curl [***]"  # 获取公网主机名
  KAFKA_LISTENERS: "INSIDE://:9092,OUTSIDE://:9094"
  KAFKA_ADVERTISED_LISTENERS: "INSIDE://:9092,OUTSIDE://_{HOSTNAME_COMMAND}:9094"  # 引用 HOSTNAME_COMMAND 结果
  KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT"
  KAFKA_INTER_BROKER_LISTENER_NAME: "INSIDE"  # Broker 间通过 INSIDE 协议通信

规则:

  • 监听器端口不可重复。
  • advertised.listeners 中的协议和端口必须在 listeners 中存在。

5. Broker Rack 配置

配置 Broker 机架信息(如 AWS 可用区),优化副本分布:

  • 手动指定:KAFKA_BROKER_RACK: "us-west-2a"

  • 自动获取:通过 RACK_COMMAND 执行命令(如 AWS 元数据服务):

    environment:
      RACK_COMMAND: "curl [***]"  # 获取可用区
    

6. JMX 监控配置

通过 KAFKA_JMX_OPTS 和 JMX_PORT 启用 JMX 监控:

environment:
  KAFKA_JMX_OPTS: "-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.rmi.port=1099"
  JMX_PORT: 1099  # JMX 监听端口
ports:
  - "1099:1099"  # 映射 JMX 端口到宿主机

连接示例:jconsole 127.0.0.1:1099

Docker Compose 部署示例

单节点 Kafka 集群(含 ZooKeeper)

创建 docker-compose-single-broker.yml:

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181  # 必填:ZooKeeper 连接地址
      KAFKA_ADVERTISED_HOST_NAME: 192.168.1.100  # 替换为 Docker 主机 IP
      KAFKA_BROKER_ID: 0  # 固定 Broker ID
      KAFKA_CREATE_TOPICS: "test-topic:3:1"  # 创建 test-topic(3分区1副本)
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock  # 用于动态获取容器信息

启动集群:

docker-compose -f docker-compose-single-broker.yml up -d

多节点 Kafka 集群(动态扩缩容)

创建 docker-compose.yml:

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092"  # 动态分配宿主机端口
    environment:
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_HOST_NAME: 192.168.1.100
      BROKER_ID_COMMAND: "hostname | awk -F'-' '{print $2}'"  # 自动生成 Broker ID
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

启动 3 节点集群:

docker-compose up -d
docker-compose scale kafka=3  # 扩展至 3 个 Broker

环境变量参考

环境变量必填说明示例值
KAFKA_ZOOKEEPER_CONNECT是ZooKeeper 连接字符串(格式:host:port[,host:port])zookeeper:2181
KAFKA_BROKER_ID否手动指定 Broker ID1
BROKER_ID_COMMAND否生成 Broker ID 的命令(与 KAFKA_BROKER_ID 二选一)`"hostname
KAFKA_CREATE_TOPICS否自动创建的主题列表(格式:主题:分区:副本[:清理策略])"Topic1:3:2,Topic2:1:1:compact"
KAFKA_CREATE_TOPICS_SEPARATOR否主题分隔符(默认 ,)"$$'\n'"(换行符)
KAFKA_ADVERTISED_HOST_NAME否手动指定广告主机名(与 HOSTNAME_COMMAND 二选一)192.168.1.100
HOSTNAME_COMMAND否生成广告主机名的命令"curl [***]"
PORT_COMMAND否生成广告端口的命令`"docker port $$(hostname) 9092/tcp
KAFKA_LISTENERS否监听器列表(格式:协议://地址:端口)"INSIDE://:9092,OUTSIDE://:9094"
KAFKA_ADVERTISED_LISTENERS否广告监听器列表"INSIDE://:9092,OUTSIDE://{IP}:9094"
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP否协议-安全策略映射"INSIDE:PLAINTEXT,OUTSIDE:SSL"
KAFKA_INTER_BROKER_LISTENER_NAME否Broker 间通信协议名"INSIDE"
KAFKA_BROKER_RACK否手动指定 Broker 机架信息"us-west-2a"
RACK_COMMAND否生成机架信息的命令"curl [***]"
KAFKA_JMX_OPTS否JMX 配置参数"-Dcom.sun.management.jmxremote ..."
JMX_PORT否JMX 监听端口1099

注意事项

  1. 网络配置:容器网络环境复杂时(如跨主机通信),需参考 Connectivity Guide 排查端口映射、防火墙规则等问题。
  2. Broker ID 稳定性:默认配置下,Broker 重启可能导致 ID 变化(自动生成场景),生产环境建议手动指定 KAFKA_BROKER_ID 或使用 --no-recreate 避免容器重建。
  3. 监听器与广告地址兼容性:使用 KAFKA_LISTENERS 时,请勿同时设置 KAFKA_ADVERTISED_HOST_NAME 和 KAFKA_ADVERTISED_PORT,避免配置冲突。
  4. ZooKeeper 依赖:Kafka 依赖 ZooKeeper 存储元数据,需确保 KAFKA_ZOOKEEPER_CONNECT 指向可用的 ZooKeeper 集群。

参考链接

  • GitHub 项目主页
  • Kafka 官方文档
  • Docker Compose 配置参考
  • Connectivity Guide(网络连接指南)
查看更多 kafka 相关镜像 →
bitnami/kafka logo
bitnami/kafka
by VMware
认证
比特纳米Kafka安全镜像是一款针对分布式流处理平台Kafka的预配置、安全加固容器镜像,集成行业最佳安全实践,涵盖漏洞扫描、最小权限原则、加密通信支持及合规性检查,旨在简化Kafka部署流程,确保数据传输与存储安全性,适用于企业级流数据处理场景,帮助用户快速搭建安全可靠的Kafka集群。
946100M+ pulls
上次更新:1 个月前
bitnamicharts/kafka logo
bitnamicharts/kafka
by VMware
认证
Bitnami为Apache Kafka提供的Helm Chart是一款预配置的Kubernetes包管理工具,旨在简化分布式流处理平台Apache Kafka在Kubernetes集群中的部署、配置与全生命周期运维管理,集成了高可用性集群设置、安全认证机制、Prometheus监控指标及自动伸缩策略等核心功能,帮助用户无需手动处理复杂的集群参数配置,即可快速搭建稳定、可扩展且符合生产级标准的Kafka服务,适用于从开发测试到大规模生产环境的各类场景。
310M+ pulls
上次更新:2 个月前
ubuntu/kafka logo
ubuntu/kafka
by Canonical
认证
Apache Kafka 是一个分布式事件流平台,它支持高吞吐量、低延迟的实时数据流处理与传输,可广泛应用于消息传递、日志聚合、实时分析、数据集成等场景,其长期维护轨道由 Canonical 负责,以确保平台在稳定性、安全性及功能迭代方面获得持续支持,为企业级用户提供可靠的事件流处理解决方案。
561M+ pulls
上次更新:14 小时前
apache/kafka logo
apache/kafka
by The Apache Software Foundation
Apache Kafka是一个开源的分布式流处理平台,旨在提供高吞吐量、低延迟的实时数据流传递服务,支持发布/订阅消息模式,能够持久化存储海量数据流并确保数据可靠性,具备水平扩展能力和容错机制,广泛应用于日志收集、事件驱动架构、实时数据集成及流处理系统等场景,为企业级应用提供高效、稳定的数据流传输与处理解决方案。
16810M+ pulls
上次更新:3 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.