-
如果是私有化部署,且不能访问公网的情况下,需要自己安装confluentinc/cp-kafka:latest镜像;
-
创建docker-compose.yaml文件
yamlservices: kafka: image: confluentinc/cp-kafka:latest container_name: kafka hostname: kafka user: root # 以 root 用户运行 # 使用主机网络模式,这样容器直接使用宿主机的网络 network_mode: "host" # 注意:在host模式下,端口映射无效,所以移除ports配置 environment: KAFKA_NODE_ID: 1 KAFKA_PROCESS_ROLES: 'broker,controller' # 监听所有网络接口 KAFKA_LISTENERS: 'PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:29093' # 使用宿主机IP作为广告地址 KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://192.168.0.91:9092' KAFKA_CONTROLLER_QUORUM_VOTERS: '1@192.168.0.91:29093' KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER' KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT' KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT' KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 KAFKA_CLUSTER_ID: 'MkU3OEVBNTcwNTJENDM2Qk' LOG4J_LOGGER_KAFKA: INFO LOG4J_LOGGER_ORG_APACHE_KAFKA: INFO KAFKA_ZOOKEEPER_CONNECT: '' volumes: - ./kafka-data:/var/lib/kafka/data - ./logs:/var/log/kafka restart: unless-stopped # 在host模式下,不需要指定networks -
将docker-compose.yaml拷贝到服务器上,运行启动命令
bashdocker compose up -d -
启动成功后,进行验证
1. 创建 Topic
bashdocker exec -it kafka kafka-topics --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 12. 开启生产者(发送消息)
运行下面命令后,输入一些文字并回车:
bashdocker exec -it kafka kafka-console-producer --topic test-topic --bootstrap-server localhost:90923. 开启消费者(接收消息)
打开另一个终端窗口执行,看是否能收到刚才输入的文字:
bashdocker exec -it kafka kafka-console-consumer --topic test-topic --from-beginning --bootstrap-server localhost:9092 -
如果失败可以使用如下命令查看错误日志,排查问题
bashdocker logs kafka # 对应docker-compose.yaml文件中的container_name
使用docker单机部署kafka,以KRaft模式运行,不使用zookeeper,
Byte Beat2026-02-04 9:03
相关推荐
MonkeyKing_sunyuhua6 小时前
阿里云ECS安装docker composeMatrix706 小时前
Kafka 单节点测试环境部署实战迷路爸爸1807 小时前
Docker 入门学习笔记 06:用一个可复现的 Python 项目真正理解 Dockerfile斯普信云原生组7 小时前
Docker 开源软件应急处理方案及操作手册——容器运行异常处理摆烂z7 小时前
对外访问网络限制*.aliyuncs.com开放也拉不下来和查看docker容器结构斯普信云原生组8 小时前
Docker 开源软件应急处理方案及操作手册——资源限制与性能瓶颈我科绝伦(Huanhuan Zhou)8 小时前
分享一个很实用的K8S巡检脚本迷路爸爸1809 小时前
Docker 入门学习笔记 05:卷到底是什么,为什么容器删了数据却还能保留恼书:-(空寄9 小时前
Docker 进阶核心实战:自定义镜像 + Dockerfile + Docker Compose●VON10 小时前
本地大模型部署实录:从Docker环境搭建到Open WebUI公网访问