阿里云服务器 Linux 上通过 Docker 部署中间件(如 Kafka、Zookeeper)

使用 Docker 安装 Kafka 和 Zookeeper

编写 docker-compose.yml 文件

为了方便部署 Kafka 和 Zookeeper,使用 docker-compose 来管理容器。创建一个目录并进入:

mkdir ~/docker-project
cd ~/docker-project

然后创建 docker-compose.yml 文件:

services:
  zookeeper:
    image: wurstmeister/zookeeper:latest
    container_name: zookeeper
    environment:
      - ZOOKEEPER_CLIENT_PORT=2181
      - ZOOKEEPER_TICK_TIME=2000
    ports:
      - "2181:2181"
    networks:
      - kafka-network

  kafka:
    image: wurstmeister/kafka:latest
    container_name: kafka
    environment:
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9093
      - KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093  # 配置监听地址为所有网络接口
      - KAFKA_LISTENER_SECURITY_PROTOCOL=PLAINTEXT
      - KAFKA_LISTENER_PORT=9093
      - KAFKA_LISTENER_NAME=PLAINTEXT
    ports:
      - "9093:9093"
    depends_on:
      - zookeeper
    networks:
      - kafka-network

networks:
  kafka-network:
    driver: bridge

启动 Kafka 和 Zookeeper

  1. 启动服务:

    docker compose up -d
    

    注意:这里第一次启动会拉取镜像,可能会报错。最后处理方式是:单独拉取镜像。
    然后在 docker-compose.yml 里改用这两个镜像!

    docker pull wurstmeister/kafka
    docker pull wurstmeister/zookeeper
    

    更新 docker-compose.yml 配置文件。

  2. 检查 Zookeeper 和 Kafka 是否已停止,并启动(这里才是真正的启动服务,上面是在一步一步排坑)
    先查看当前正在运行的容器:

    docker ps
    

    如果 Zookeeper 和 Kafka 仍在运行,先停止它们:

    docker stop kafka zookeeper
    

    然后删除旧容器(确保没有残留的 Kafka 和 Zookeeper 容器):

    docker rm kafka zookeeper
    

    启动服务:

    sudo docker compose up -d
    
  3. 检查容器状态:

    sudo docker ps
    
  4. 查看 Kafka 和 Zookeeper 的日志:

    sudo docker logs kafka
    sudo docker logs zookeeper
    
posted on 2025-03-05 22:07  九七年的菠萝啤  阅读(112)  评论(0)    收藏  举报