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

如看到消息 代表成功

相关推荐
java_logo3 分钟前
Caddy Docker 容器化部署指南
运维·docker·容器·caddy部署·caddy部署文档·caddy部署教程·docker部署caddy
极客小云20 分钟前
【Dockerfile 编写最佳实践:优化镜像构建与层缓存】
缓存·docker·k8s
-指短琴长-33 分钟前
Docker-Desktop修改WSL文件系统到D盘
docker·容器·eureka
雨中飘荡的记忆43 分钟前
Docker 入门实战教程:从零开始掌握容器化技术
docker
AC赳赳老秦2 小时前
企业级人工智能平台选型深度分析:天翼云 DeepSeek 与开源解决方案的部署考量与成本博弈
人工智能·elasticsearch·zookeeper·rabbitmq·github·时序数据库·deepseek
回忆是昨天里的海2 小时前
docker网络-自定义网络
运维·docker·容器
Wang's Blog2 小时前
Kafka: 生产者客户端工作机制深度解析
分布式·kafka
飞Link3 小时前
【开发工具】Docker常用操作
运维·docker·容器
摇滚侠3 小时前
VMvare 虚拟机 centOS 7 安装 Docker,Docker 安装 Kong Konga
docker·centos·kong
hanyi_qwe3 小时前
Docker 容器操作 【docker (二)】
docker·容器·eureka