阿里云服务器 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
-
启动服务:
docker compose up -d注意:这里第一次启动会拉取镜像,可能会报错。最后处理方式是:单独拉取镜像。
然后在 docker-compose.yml 里改用这两个镜像!docker pull wurstmeister/kafka docker pull wurstmeister/zookeeper更新 docker-compose.yml 配置文件。
-
检查 Zookeeper 和 Kafka 是否已停止,并启动(这里才是真正的启动服务,上面是在一步一步排坑)
先查看当前正在运行的容器:docker ps如果 Zookeeper 和 Kafka 仍在运行,先停止它们:
docker stop kafka zookeeper然后删除旧容器(确保没有残留的 Kafka 和 Zookeeper 容器):
docker rm kafka zookeeper启动服务:
sudo docker compose up -d -
检查容器状态:
sudo docker ps -
查看 Kafka 和 Zookeeper 的日志:
sudo docker logs kafka sudo docker logs zookeeper
浙公网安备 33010602011771号