Public | Automated Build

Last pushed: 9 days ago
Short Description
Alpine version of https://hub.docker.com/r/ches/kafka
Full Description

kafaka镜像

基于https://hub.docker.com/r/ches/kafka改造。

环境变量

KAFKA参数

支持Kafka文档中列出的所有Broker参数,但不支持所有被标注为DEPRECATED的参数。

环境变量命名逻辑为:KAFKA_${PARAM_NAME},例如zookeeper.connect对应的环境变量为KAFKA_ZOOKEEPER_CONNECT

特别注意*.listeners与原来DEPRECATED*.host+*.port的使用差别,会受到listener.security.protocol.map的影响。

$KAFKA_HEAP_OPTS

KAFKA提供的官方参数,默认设置为-XX:+UseG1GC作为回收,可以自己定义。

$KAFKA_JMX_OPTS

可以通过自定义$KAFKA_JMX_OPTS实现对JMX的配置,默认设置如下:

-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT -Djava.rmi.server.hostname=${JAVA_RMI_SERVER_HOSTNAME:-$HOSTNAME}

其中默认的$JMX_PORT7203$JAVA_RMI_SERVER_HOSTNAME$HOSTNAME,由容器自动生成。

docker-compose

一个简单的例子:

version: "3"
services:
    zookeeper:
        image: zookeeper:3.4.10
    kafka:
        image: szyhf/kafka
        ports:
            - "127.0.0.1:9091:9091"
        environment:
            JAVA_RMI_SERVER_HOSTNAME: "kafka"
            KAFKA_BROKER_ID: 110
            KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://kafka:9091"
            KAFKA_LISTENERS: "PLAINTEXT://kafka:9091"
            KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
    kafka_manager:
        image:
            szyhf/kafka-manager:latest
        ports:
            - 127.0.0.1:19000:9000
        environment:
            ZK_HOSTS: "zookeeper:2181"

volume

config

配置文件目录为/kafka/config,有需要的话可以直接挂载,如果已经挂载了config/server.properties文件,则相关的环境变量都会被忽略。

log

日志目录会受到server.properties里边的log.dir配置影响,看文档自己挂载……

默认路径是/tmp/kafka-logs

Docker Pull Command
Owner
szyhf
Source Repository

Comments (0)