Брокер Kafka недоступен в docker compose - PullRequest
0 голосов
/ 06 августа 2020

Я создал файл docker compose, в котором мое приложение хочет использовать kafka.

docker -compose.yaml:


version: '3.7'

services:
  api:
    depends_on:
      - kafka
    restart: on-failure
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:8080

  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"

  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    depends_on:
      - zookeeper
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.1.7
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_CREATE_TOPICS: "mytopic:1:1"

192.168.1.7 - мой IP что я получил из ifconfig.

enter image description here

In my service i am giving broker as 192.168.1.7:9092.

When i do docker ps and exec to my kafka container. I am not able to access the 192.168.1.0

enter image description here

What am i doing wrong here though the strange thing is in my application logs i see that the topic is created.

When i try to create the topic:

введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 07 августа 2020

Как указано выше @oneCricketeer, вам не нужно жестко кодировать какой-либо из IP-адресов вашего хоста.

Вы можете подключиться к брокеру, используя имя «брокера» внутри самого API. То же самое можно настроить для объявления имени хоста.

0 голосов
/ 06 августа 2020

Вам не нужны IP-адреса, кроме 127.0.0.1

192.168.1.7 кажется IP-адресом вашего хоста, а не docker IP, и все же вы не используете network_mode: host, и поэтому сеть не позволяет вам подключиться к брокеру.

Я рекомендую найти существующие, работающие Docker Составить файлы, например, в этом ответе

...