Docker 安装 Zookeeper + Kafka 保姆级教程

1.创建 docker-compose.yml

创建一个名为 docker-compose.yml 的文件,并添加以下内容:

bash 复制代码
version: '3.6'

services:
  zookeeper:
    image: zookeeper:3.6
    container_name: zookeeper
    ports:
      - "2181:2181"
    networks:
      - kafka-network
    environment:
      ZOO_STANDALONE_ENABLED: "true"

  kafka:
    image: bitnami/kafka:3.6
    container_name: kafka
    depends_on:
      - zookeeper
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9092,OUTSIDE://localhost:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
      KAFKA_LISTENERS: INSIDE://0.0.0.0:9092,OUTSIDE://0.0.0.0:9093
      KAFKA_LISTENER_NAME: INSIDE
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
    networks:
      - kafka-network

networks:
  kafka-network:
    driver: bridge

2.启动服务

运行以下命令来启动 Zookeeper 和 Kafka 服务:

bash 复制代码
docker compose -f docker-compose.yml up -d

此处会拉取镜像 耐心等待...

3.验证

3.1检查 Zookeeper 和 Kafka 容器是否正常运行:

bash 复制代码
docker ps

3.2通过 docker-compose logs 查看服务的日志,确保没有错误:

bash 复制代码
docker compose logs

3.3使用 docker exec 进入容器,并测试它们之间的连接:

bash 复制代码
docker exec -it kafka bash
curl http://zookeeper:2181
bash 复制代码
docker exec -it zookeeper bash
curl http://kafka:9092

4.测试数据

bash 复制代码
docker exec -it kafka bash

在Kafka容器创建主题:

bash 复制代码
kafka-topics.sh --create --topic test --partitions 1 --replication-factor 1 --bootstrap-server kafka:9092

执行创建生产者命令:

bash 复制代码
kafka-console-producer.sh --broker-list localhost:9092 --topic test

在新的终端窗口中 再次进入Kafka容器 执行创建消费者命令:

bash 复制代码
docker exec -it kafka bash
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

如看到消息 代表成功

相关推荐
1.01^10001 小时前
[7-01-02].第05节:环境搭建 - 基础环境
kafka
帅帅梓1 小时前
docker网络
网络·docker·php
Lv-D-J2 小时前
mac下Docker安装nacos
docker
西瓜er4 小时前
Docker 一键部署指南:GitLab、Nacos、Redis、MySQL 与 MinIO 全解析
redis·docker·gitlab
要站在顶端4 小时前
Jenkins 使用容器运行自动化任务详细文档
docker·自动化·jenkins
回家路上绕了弯5 小时前
深入 Zookeeper 数据模型:树形 ZNode 结构的设计与实践
后端·zookeeper
闲人编程5 小时前
将你的Django/Flask应用部署到云服务器(Docker实战)
服务器·docker·容器·django·flask·部署·web
没有口袋啦5 小时前
K8s集群多节点部署(Ubuntu22.04)
docker·云原生·容器·kubernetes
IvanCodes6 小时前
七、Docker核心技术:深入理解网络模式 (Bridge, Host, None, Container)
网络·docker·容器