代码改变世界

使用docker提供kafka服务

2021-03-15 14:21  微服务专家  阅读(346)  评论(0编辑  收藏  举报

在docker官方直接下载 Bitnami的compose文件就可以启动kafka了

docker 文档

compose文件地址

 

直接执行命令,就在9092启动服务了。

docker-compose  up -d

如果你使用java程序去连,并且你的这个java程序不是跑在容器里的,比如是你在idea里直接启动的,会遇到一个报错。

 Error connecting to node a6101348b185:9092

当然你可以配置host 127.0.0.1 a6101348b185。 但是这个节点的名字是会变的,就是你docker里容器的名字

你也可以修改一下compose文件,增加一个环境变量,这样你就可以用localhost来访问这个kafka了

version: '2'

services:
  zookeeper:
    image: 'docker.io/bitnami/zookeeper:3-debian-10'
    ports:
      - '2181:2181'
    volumes:
      - 'zookeeper_data:/bitnami'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafka:
    image: 'docker.io/bitnami/kafka:2-debian-10'
    ports:
      - '9092:9092'
    volumes:
      - 'kafka_data:/bitnami'
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092
    depends_on:
      - zookeeper

volumes:
  zookeeper_data:
    driver: local
  kafka_data:
    driver: local