Я бы хотел подключиться к брокеру kafka, размещенному на моем локальном компьютере, из службы весенней загрузки внутри контейнера докера на той же машине.
Конфигурация Kafka Listener в весенней загрузке.Это работает вне контейнера на локальном компьютере:
config.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
config.put(ConsumerConfig.GROUP_ID_CONFIG, "my_test_application");
config.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
config.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
Файл свойств сервера Kafka:
# Hostname and port the broker will advertise to producers and consumers.
If not set,
# it uses the value for "listeners" if configured. Otherwise, it will use
the value
# returned from java.net.InetAddress.getCanonicalHostName().
advertised.listeners=PLAINTEXT://localhost:9092
Файл образа Docker изображения:
FROM openjdk:8-slim
FROM apacheignite/ignite:2.4.0
COPY decoupling.jar decoupling.jar
EXPOSE 9081 3306 9092 2181
CMD java -jar decoupling.jar
команда запуска:
docker run decoupling