docker下的kafka一般都是使用 wurstmeister/kafka,
安裝過程參考:https://blog.csdn.net/boling_cavalry/article/details/85395080
這裏記錄通過配置docker-compose.yml文件,修改$KAFKA_HOME/config/server.properties裏的log.dirs參數
主要修改:
1.指定log位置:KAFKA_LOG_DIRS: "/kafka/KafkaLog"
其他參數同理:KAFKA_XXX_ZZZ,對應server.properties裏的xxx.zzz
2.把磁盤映射進docker:- /mnt/mntnas/KafkaLog:/kafka/KafkaLog
docker-compose.yml參數詳解(配置文件):https://blog.csdn.net/m0_38134755/article/details/90444576
重新創建kafka容器:進入docker-compose.yml文件位置,docker-compose up -d
[root@izbp1d36xiav554wzwc3klz]~/docker/kafka# cat docker-compose.yml
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "32769:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 111.111.111.111
#KAFKA_ADVERTISED_LISTENERS: "192.168.1.9"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LOG_DIRS: "/kafka/KafkaLog"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /mnt/mntnas/KafkaLog:/kafka/KafkaLog
kafka-manager:
image: sheepkiller/kafka-manager
environment:
ZK_HOSTS: zookeeper:2181
ports:
- "39000:9000"
#其中ip地址爲宿主機上的 docker-machine ip 地址
最後進入容器,docker exec -it kafka-id bash,能看到$KAFKA_HOME/config/server.properties裏的log.dirs參數已經修改過來了。