Intereting Posts
Перенаправить несколько файлов журналов в контейнере докеров в stdout (устаревшее приложение) Удалить изображение со ступицы Преобразование идентификатора потока в докере Cgroup в идентификатор хоста Docker SDK для получения сетевых интерфейсов вместе с его ifindex Разница между запуском и запуском контейнера докеров Возвращение IP-адреса хоста в докер содержит файл конфигурации systemd Проблемы с несколькими экземплярами встроенного java-приложения с помощью Firebase Listener Как запустить aiohttp с оружием в докер-контейнере? Ошибка при создании сети по умолчанию «мост»: невозможно создать сеть (docker0): конфликты с сетью (docker0): сети имеют одно и то же имя моста docker не отвечает при использовании другого каталога данных Проблема со связью GitLab с GitLab Как установить Docker на 32-битную машину с Ubuntu 12.04? Как подключиться к docker VM (MobyLinux) из оболочки Windows? Запуск private_pub с докере Ошибка установки SparkR wget: непризнанная опция '–progress-bar'

Настройка Kafka с док-станцией

Привет, я сейчас настраиваю Kafka с Docker. Мне удалось установить Zookeeper и Kafka с опубликованным конфлюэнтным изображением, см. Следующий файл для записи докеров:

version: '2' services: zookeeper: image: confluentinc/cp-zookeeper:3.2.0 container_name: zookeeper hostname: zookeeper ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 restart: always kafka: image: confluentinc/cp-kafka:3.2.0 hostname: kafka container_name: kafka depends_on: - zookeeper ports: - '9092:9092' environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.99.100:9092 LISTENERS: PLAINTEXT://0.0.0.0:9092 restart: always kafka-rest: image: confluentinc/cp-kafka-rest:3.2.0 container_name: kafka-rest depends_on: - kafka ports: - '8082:8082' environment: KAFKA_REST_ZOOKEEPER_CONNECT: 'zookeeper:2181' KAFKA_REST_LISTENERS: http://kafka-rest:8082 KAFKA_REST_SCHEMA_REGISTRY_URL: http://schema-registry:8081 KAFKA_REST_HOST_NAME: kafka-rest restart: always schema-registry: image: confluentinc/cp-schema-registry:3.2.0 container_name: schema-registry depends_on: - kafka ports: - '8081' environment: SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181' SCHEMA_REGISTRY_HOST_NAME: schema-registry SCHEMA_REGISTRY_LISTENERS: http://schema-registry:8081 restart: always connect: image: confluentinc/cp-kafka-connect:3.2.0 container_name: kafka-connect depends_on: - zookeeper - kafka - schema-registry ports: - "8083:8083" restart: always environment: CONNECT_BOOTSTRAP_SERVERS: 'kafka:9092' CONNECT_REST_ADVERTISED_HOST_NAME: connect CONNECT_REST_PORT: 8083 CONNECT_GROUP_ID: compose-connect-group CONNECT_CONFIG_STORAGE_TOPIC: docker-connect-configs CONNECT_OFFSET_STORAGE_TOPIC: docker-connect-offsets CONNECT_STATUS_STORAGE_TOPIC: docker-connect-status CONNECT_KEY_CONVERTER: io.confluent.connect.avro.AvroConverter CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8081 CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8081 CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter CONNECT_ZOOKEEPER_CONNECT: "zookeeper:2181" 

Теперь мне удалось корректно отобразить контейнер Kafka для моих незакрепленных приложений, правильно настроив свойство advertized.listener на PLAINTEXT: // {DOCKER_MACHINE_IP}: 9092, но, как вы можете видеть, я также добавил другие конфлюентные приложения для продлить мою настройку Kafka (Kafka REST, Schema-Registry). Они больше не могут подключаться к моему экземпляру Kafka из-за свойства advertized.listener.

Я мог бы изменить его на правильное имя хоста контейнера -> PLAINTEXT: // kafka: 9092, но затем я теряю возможность снова обратиться к экземпляру kafka с другими моими приложениями. Есть ли простой способ решить эту проблему?

Омар, может быть, вы уже решили свою проблему, но для справок в будущем, комментарий Ханса Есперсена сделал трюк для меня, даже в Windows.

В качестве администратора откройте C:\Windows\System32\drivers\etc\hosts и добавьте следующую строку, чтобы открыть брокера kafka как localhost. 127.0.0.1 broker

И мой файл docker-compose.yml выглядит следующим образом:

 --- version: '2' services: zookeeper: image: confluentinc/cp-zookeeper hostname: zookeeper extra_hosts: - "moby:127.0.0.1" ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 broker: image: confluentinc/cp-kafka hostname: broker extra_hosts: - "moby:127.0.0.1" depends_on: - zookeeper ports: - '9092:9092' environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker:9092' KAFKA_DEFAULT_REPLICATION_FACTOR: 1 schema_registry: image: confluentinc/cp-schema-registry hostname: schema_registry # extra_hosts: # - "moby:127.0.0.1" depends_on: - zookeeper - broker ports: - '8081:8081' environment: SCHEMA_REGISTRY_HOST_NAME: schema_registry SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181' kafka-rest: image: confluentinc/cp-kafka-rest container_name: kafka-rest extra_hosts: - "moby:127.0.0.1" depends_on: - zookeeper - broker ports: - '8082:8082' environment: KAFKA_REST_ZOOKEEPER_CONNECT: 'zookeeper:2181' KAFKA_REST_LISTENERS: http://kafka-rest:8082 KAFKA_REST_SCHEMA_REGISTRY_URL: http://schema-registry:8081 KAFKA_REST_HOST_NAME: kafka-rest 

Альтернативно, работа с текущим IP-адресом моего ноутбука (с использованием ipconfig / all) тоже работает, но это имеет тот недостаток, что при изменении моей сети мне пришлось бы также изменить файл docker-compose.yml .