Docker 中安装 Kafka

Docker-Compose安装

  1. 这里使用Docker-Compose来安装 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。详见官方代码 https://github.com/docker/compose
  2. 安装Docker-Compose
    最新发行的版本地址:https://github.com/docker/compose/releases
    这里安装1.25.0版本,如果要安装其他版本直接替换1.25.0就行了
    curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  3. 赋于Docker-Compose可执行权限
    chmod +x /usr/local/bin/docker-compose
  4. 测试 Docker-Compose是否安装成功
    docker-compose --version
    docker-compose version 1.25.0, build 0a186604

    Kafka安装

  5. 创建docker-compose.yml文件
    mkdir -p /data/kafka
    vim /data/kafka/docker-compose.yml
  6. 编写docker-compose.yml文件内容
version: '2'
services:
  zookeeper:
    image: zookeeper
    container_name: dk-zk
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    container_name: dk-kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.55.55
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_JVM_PERFORMANCE_OPTS: " -Xms1g -Xmx6g"
      KAFKA_LOG_RETENTION_HOURS: 48
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  • KAFKA_ADVERTISED_HOST_NAME: 配置主机的ip,可以用ifconfig查询得到
  • KAFKA_ZOOKEEPER_CONNECT:zookeeper的端口
  • KAFKA_JVM_PERFORMANCE_OPTS:配置java虚拟机中应用程序可用内存范围
  • KAFKA_LOG_RETENTION_HOURS:kafka日志保留时间(小时)
  1. 进入到docker-compose.yml所在目录,安装
    cd /data/kafka
    docker-compose up -d
  2. 设置随Docker启动而启动
    docker update --restart=always dk-zk
    docker update --restart=always dk-kafka
0%