修改配置文件外部环境连接kafka
1、kafka的docker官方镜像地址
https://hub.docker.com/r/apache/kafka
2、kafka官方介绍的三种连接方式
3、方式一:Default configs默认配置
是无法连接的
4、方式二:File input(文件输入:外部配置文件替换docker容器内的配置文件)
将docker容器内的docker配置文件拿到linux,修改配置项参数,再替换docker容器内的配置文件
4.1、首先查看启动kafka的docker容器id
docker ps
4.2、进入docker容器
# docker exec -it 容器ID /bin/bash
docker exec -it 129b60918896 /bin/bash
4.3、复制docker容器内的kafka配置文件到linux
命令说明:复制id为129b60918896的docker容器下/etc/kafka/docker/server.properties文件夹到linux根目录下
docker cp 129b60918896:/etc/kafka/docker/server.properties ./
4.3.1、修改配置文件server.properties
原配置:
修改后的配置:
修改内容
listeners=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093
# advertise的含义表示宣称的、公布的Kafka服务对外开放的IP和端口:
# advertised.listeners=PLAINTEXT://<你的linux服务器ip>:9092
advertised.listeners=PLAINTEXT://192.168.1.1:9092
4.3.2、文件映射
先ctrl+c关闭目前正常运行的docker容器内的kafka
4.3.3、 执行命令启动kafka
命令来源:参考官方文档https://github.com/apache/kafka/blob/trunk/docker/examples/README.md
# 命令示例:docker run --volume path/to/property/folder:/mnt/shared/config -p 9092:9092 apache/kafka:latest
## 文件映射参数:--volume
docker run --volume /:/mnt/shared/config -p 9092:9092 registry.cn-hangzhou.aliyuncs.com/study-img/kafka:3.7.0