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

如看到消息 代表成功

相关推荐
Ramboooooooo44 分钟前
SkyWalking-10.4.0 Docker + Nacos + Elasticsearch 生产级部署手册
elasticsearch·docker·skywalking
修罗王16 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
张龙68719 小时前
Docker 镜像瘦身实战:从 1.2GB 到 128MB,我踩过的 7 个坑和一套可复制的方法论
运维·后端·docker
杨浦老苏20 小时前
开源堡垒机 Warpgate:一个容器搞定 SSH、MySQL 和 Web 访问
运维·docker·ssh·堡垒机·群晖
ERD Online21 小时前
docker-compose 一键部署的 MIT 开源数据库建模平台
数据库·docker·开源
三言老师1 天前
CentOS7.9 + Kubernetes 1.18.20 -清理所有 docker / containerd 残留
docker·容器·kubernetes
circuitsosk1 天前
从Docker到Kubernetes:AI应用服务化与弹性伸缩的落地实践
人工智能·docker·kubernetes·ai应用部署
showyoui1 天前
K8s 集群迁移踩坑:Istio 升级后 nginx 403
网络·docker·kubernetes·istio·service_mesh
富士康质检员张全蛋1 天前
Kafka 事物
kafka
golang学习记2 天前
Go 项目使用docker compose的正确方式
开发语言·docker·golang