本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
。此外,还包含数据生成器、Web界面(用于访问各种服务日志)、可选的TLS密钥库和信任库,以及大量可自定义的设置,可根据需求进行调整。
建议将fast-data-dev与Lenses CE(社区版)结合使用,可通过我们的docker-compose实现(获取地址)。Lenses为Apache Kafka和Kafka Connect提供业界领先的开发体验,其众多功能中,您可能会特别喜欢SQL Studio(允许在Kafka主题上运行SQL查询)和SQL处理器(用于创建流式SQL查询)。
我们的docker-compose将为您自动设置fast-data-dev和Lenses。
通过一条命令启动完整的Kafka环境:
docker run --rm \ -p 9092:9092 \ -p 8081:8081 \ -p 8083:8083 \ -p 3030:3030 \ lensesio/fast-data-dev
通过以下地址访问Web界面:http://localhost:3030
Kafka Broker可通过localhost:9092访问,Schema Registry通过http://localhost:8081访问,Kafka Connect通过http://localhost:8083访问。
docker run --rm \ -e ADV_HOST=<您的IP地址或DNS名称> \ -p 9092:9092 \ -p 8081:8081 \ -p 8083:8083 \ -p 3030:3030 \ lensesio/fast-data-dev
此设置可能需要允许从容器自身访问fast-data-dev。例如,若在云虚拟机中运行,可能需要配置防火墙,不仅允许来自您计算机的连接,还允许来自虚拟机本身的连接。
此设置允许从主机和其他docker-compose服务访问。从主机访问Broker的地址为localhost:9092,从docker-compose服务访问的地址为kafka:19092。
kafka: image: lensesio/fast-data-dev:3.9.0 hostname: kafka environment: ADV_HOST: kafka RUNNING_SAMPLEDATA: 1 RUNTESTS: 0 # 以下三个变量是在主机本地开发时访问Kafka所需,适用于KRaft模式的fast-data-dev(3.9.x及更高版本)。Broker将通过localhost:9092可用。 KAFKA_LISTENERS: PLAINTEXT://:9092,DOCKERCOMPOSE://:19092,CONTROLLER://:16062 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092,DOCKERCOMPOSE://demo-kafka:19092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: > DOCKERCOMPOSE:PLAINTEXT,CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT, SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL # 减轻资源占用 DISABLE: debezium-mongodb,debezium-mysql,debezium-postgres,debezium-sqlserver,debezium-jdbc # 这些是Kafka和Schema Registry的端口。如果不需要从主机访问Kafka,可以禁用。 ports: - 9092:9092 - 8081:8081 - 8083:8083 - 3030:3030 # 可选,用于持久化数据(以便恢复工作) # volumes: # - kafka-data-volume:/data
# 启用SSL并自动生成证书 docker run --rm -p 9092:9092 -p 8081:8081 -p 3030:3030 -p 8083:8083 \ -e ENABLE_SSL=1 \ -e SSL_EXTRA_HOSTS=myhost.example.com,192.168.1.100 \ lensesio/fast-data-dev # 通过http://localhost:3030/certs/访问证书 # 密钥库密码:fastdata
docker run --rm -p 9092:9092 -p 8081:8081 -p 3030:3030 \ -e SAMPLEDATA=0 \ -e RUNTESTS=0 \ -e CONNECT_PORT=0 \ lensesio/fast-data-dev
# 仅启用特定连接器 docker run --rm --net=host \ -e CONNECTORS=file \ -e CONNECT_HEAP=2G \ -v /path/to/custom/connector.jar:/connectors/connector.jar \ lensesio/fast-data-dev
Fast Data Dev于2016年首次推出,当时Kafka正逐渐兴起但尚未普及。我们希望让所有人能在几分钟内开始使用流处理。无论是Kafka新手还是经验丰富的工程师,都对我们的努力给予了支持,我们至今仍在持续升级和添加新功能。
我们使用从源码构建的原生Apache Kafka,以及从源码构建的Confluent Schema Registry。
查看当前组件版本的最可靠方式是检查/build.info:
docker run --rm lensesio/fast-data-dev:latest cat /build.info
默认启用的服务:
PLAINTEXT://localhost:9092localhost:9581访问-e ENABLE_TLS=1启用可选的TLS监听器-e ADV_HOST=[HOST]设置可选的通告监听器。若启用TLS,ADV_HOST将添加到自签名证书中。还可通过-e EXTRA_HOSTS=[HOST1],[HOST2],...添加额外主机/var/run/broker/server.propertiessupervisorctl restart broker重启http://localhost:8081/var/run/schema-registrysupervisorctl restart schema-registry重启http://localhost:8083localhost:9584访问docker run --rm lensesio/fast-data-dev:latest \ find /opt/lensesio/connectors -name "kafka-connect-*" -type d -exec basename '{}' \;
-e DISABLE=aws-s3,debezium-jdbc禁用连接器以减少内存使用或避免与用户添加的插件冲突-e CONNECTORS=aws-s3,file显式启用连接器/connectors目录添加自己的连接器-e CONNECT_PORT=0/var/run/connect/connect-avro-distributed.propertiessupervisorctl restart connect-distributed重启-e WEB_PORT=0完全禁用-e USER=[用户名] -e PASSWORD=[密码]进行密码保护-e RUNNING_SAMPLEDATA=1使生成器持续运行(循环生成数据)-e SAMPLEDATA=0禁用生成器-e FORWARDLOGS=0禁用-e RUNTESTS=0禁用默认禁用的服务:
-e WEB_TERMINAL_PORT=[端口]启用-e WEB_TERMINAL_CREDS=[用户名]:[密码]修改凭据-e SUPERVISORWEB=1启用-e CONNECT_HEAP_OPTS="-Xmx640M -Xms128M" # Kafka Connect堆内存配置 -e BROKER_HEAP_OPTS="-Xmx320M -Xms320M" # Kafka Broker堆内存配置 -e CONNECT_HEAP_OPTS="-Xmx256M -Xms128M" # 同上(示例重复,实际使用时择一)
-e USER=admin # Web UI基本认证用户名(默认:kafka) -e PASSWORD=secret # Web UI基本认证密码 -e ENABLE_SSL=1 # 为Broker启用SSL/TLS -e SSL_EXTRA_HOSTS=host1,host2 # 额外的SSL证书主机 -e WEB_TERMINAL_CREDS=admin:admin # Web终端凭据
-e SAMPLEDATA=0 # 禁用示例数据生成 -e RUNNING_SAMPLEDATA=1 # 启用持续示例数据流 -e RUNTESTS=0 # 禁用集成测试 -e FORWARDLOGS=0 # 禁用日志转发到Kafka主题
-e CONNECTORS=jdbc,elastic,hbase # 仅启用特定连接器 -e DISABLE=hbase,mongodb # 禁用特定连接器
-e DEBUG=1 # 启用调试日志 -e RUN_AS_ROOT=1 # 以root用户运行服务 -e BROWSECONFIGS=1 # 在Web UI中公开服务配置 -e SUPERVISORWEB=1 # 启用supervisor Web界面(端口9001) -e WEB_TERMINAL_PORT=9002 # 启用Web终端(指定端口)
通过将属性转换为环境变量来配置任何Kafka组件:
示例:
# Broker:log.retention.bytes -> KAFKA_LOG_RETENTION_BYTES -e KAFKA_LOG_RETENTION_BYTES=1073741824 # Schema Registry:kafkastore.topic -> SCHEMA_REGISTRY_KAFKASTORE_TOPIC -e SCHEMA_REGISTRY_KAFKASTORE_TOPIC=_schemas # Connect:plugin.path -> CONNECT_PLUGIN_PATH -e CONNECT_PLUGIN_PATH=/custom/connectors
在启动过程中执行自定义脚本:
# 内联脚本 -e PRE_SETUP="echo '前置设置脚本'" # 脚本文件 -e PRE_SETUP_FILE="/path/to/script.sh" -v /local/script.sh:/path/to/script.sh # 挂载本地脚本到容器 # 远程脚本 -e PRE_SETUP_URL="[***]" # 从URL下载并执行脚本
访问Kafka命令行工具:
# 直接运行命令 docker run --rm -it --net=host lensesio/fast-data-dev \ kafka-topics --bootstrap-server localhost:9092 --list # 进入容器交互使用 docker run --rm -it --net=host lensesio/fast-data-dev bash
容器启动失败并显示主机名错误
/etc/hosts:127.0.0.1 YourHostname localhost服务无法从其他机器访问
-e ADV_HOST=<您的IP>并确保防火墙允许连接内存不足错误
-e CONNECT_HEAP=2G -e BROKER_HEAP_OPTS="-Xmx1G"SSL连接问题
fastdata# 基本构建 docker build -t local/fast-data-dev . # 多架构构建 docker buildx build --platform linux/amd64,linux/arm64 -t local/fast-data-dev .
免费版仅支持 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