docker镜像包下载地址

https://cloud.189.cn/web/share?code=EfyIBzrmYNbe(访问码:xyf4)

镜像版本

docker-compose部署kafka 2.8.1 + zookeeper 3.4.13_kafka

KAFKA_VERSION=2.8.1

ZOOKEEPER_VERSION=3.4.13

docker-compose.yml

version: '3'

services:
  zookeeper:
    image: wurstmeister/zookeeper:latest
    container_name: zookeeper
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_SERVER_ID: 1
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_INIT_LIMIT: 5
      ZOOKEEPER_SYNC_LIMIT: 2

  kafka:
    image: wurstmeister/kafka:latest
    container_name: kafka
    ports:
      - "9093:9093"  # 外部暴露的端口
    expose:
      - "9093"  # 容器内部通信端口
    environment:
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_LISTENERS: INSIDE_KAFKA://kafka:9093  # 设置监听的地址和端口
      KAFKA_ADVERTISED_LISTENER: INSIDE_KAFKA://kafka:9093  # 使用容器的主机名作为广告地址
      KAFKA_LISTENER_SECURITY_PROTOCOL: PLAINTEXT
      KAFKA_LISTENER_NAME: INSIDE_KAFKA
      KAFKA_LISTENER_INTERNAL: INSIDE_KAFKA:9093
      KAFKA_LISTENER_OUTSIDE: 9093
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE_KAFKA:PLAINTEXT
      KAFKA_LISTENER_NAME_INSIDE_KAFKA: INSIDE_KAFKA
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE_KAFKA  # 确保  设置为 INSIDE_KAFKA
    depends_on:
      - zookeeper

启动日志

docker-compose部署kafka 2.8.1 + zookeeper 3.4.13_zookeeper_02

注意事项

由于docker-compose部署时hostname设置的是kafka,因此,需要在客户端程序运行的主机上配置hosts文件,指向kafka所在服务器的真实IP,如下——

docker-compose部署kafka 2.8.1 + zookeeper 3.4.13_zookeeper_03