linux平台使用Docker Compose 搭建zk和 kafka,饼允许kafka外网访问
时间: 2023-10-25 16:07:43 浏览: 273
要在Linux平台上使用Docker Compose搭建zk和kafka并允许外部访问,可以按照以下步骤进行操作:
1. 创建一个Docker Compose文件,比如命名为docker-compose.yml,并添加以下内容:
```
version: '2'
services:
zookeeper:
image: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: <YOUR_PUBLIC_IP>
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
```
其中,zookeeper服务使用官方的zookeeper镜像,kafka服务使用wurstmeister/kafka镜像(也可以使用官方镜像),并且将zookeeper的2181端口映射到主机的2181端口,将kafka的9092端口映射到主机的9092端口。同时,使用环境变量KAFKA_ADVERTISED_HOST_NAME和KAFKA_ADVERTISED_PORT来设置kafka服务在外部访问时的地址和端口,KAFKA_ZOOKEEPER_CONNECT用于连接zookeeper服务。
2. 启动Docker Compose服务:
```
docker-compose up -d
```
3. 确认服务已经启动:
```
docker-compose ps
```
4. 确认kafka服务是否可以在外部访问,可以使用telnet命令:
```
telnet <YOUR_PUBLIC_IP> 9092
```
如果能够连接成功,则表示kafka服务已经可以在外部访问了。
注意:在Docker Compose服务启动之前,需要确保主机的2181和9092端口没有被占用,如果被占用需要先释放这些端口。同时,<YOUR_PUBLIC_IP>需要替换成主机的公网IP地址。
阅读全文