在 Docker-compose 中使用 Kafka 運行 Spring Boot 應用程序

ks_on_v

我有應用程序(kafka 客戶端)。我有下一個屬性:

spring.kafka.bootstrap-servers=127.0.0.1:29092
spring.kafka.consumer.group-id=mc3

我在 Docker-compose 中有 kafka:

kafka:
  image: confluentinc/cp-kafka:latest
  depends_on:
    - zookeeper
  ports:
    - 29092:29092
  environment:
    KAFKA_BROKER_ID: 1
    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
    KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
    KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

我需要將應用程序移入以組成如下:

mc3-service:
  image: ksonv/mc3-service:0.0.1-SNAPSHOT
  ports:
    - "8103:8103"
  depends_on:
    - kafka
  environment:
    SPRING_KAFKA_BOOTSTRAP_SERVER: kafka:9092
    SPRING_KAFKA_CONSUMER_GROUP_ID: mc3

但我不知道如何spring.kafka.bootstrap-servers在撰寫的環境部分寫入屬性。

我正在嘗試像 SPRING_KAFKA_BOOTSTRAP_SERVER。但它不起作用。

如何確定spring.kafka.bootstrap-serverscompose 環境部分的屬性?

意大利B

這個答案中的一個評論來看,似乎在 spring boot 中你可以使用SPRING_KAFKA_BOOTSTRAP_SERVERS(注意你S在最後錯過了):

environment:
- SPRING_KAFKA_BOOTSTRAP_SERVERS=kafka:9092
...

docker-compose 中的環境變量通常以-(YAML 列表)開頭,並以=.

您可以驗證它是否傳播exec到正在運行的容器中並運行printenv以查看您的環境變量是否存在:

docker exec -it <container_name or container_id> bash

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

無法從通過 intellij 運行的 Spring Boot 應用程序連接到我在 docker 上運行的 kafka

通過 Spring Boot Run 但不通過 IntelliJ Idea 運行的應用程序

了解 STS:Spring Boot 應用程序在 STS 上運行良好,但是當使用 gradle 構建 jar 時,構建失敗

如何配置最新的 Spring Boot 應用程序以在啟動時運行單元測試

在 docker compose 中使用不同的配置运行 spring boot docker 镜像

如何通過 Spring Boot Web 應用程序創建到 Kafka 的持久連接

使用Docker-Compose运行多个Spring-Boot应用程序

無法連接到使用 Docker 運行並託管在 EC2 上的 Dash 應用程序

如何使用React和Spring Boot连接docker-compose

在Windows中使用Docker Compose运行Kafka的问题

Docker Compose + Spring Boot + Postgres连接

Spring 應用程序在同一集群內運行時無法連接到 Kafka,但當它從集群外部運行時可以工作

在Docker中使用Spring Boot Actuator?

在 docker 主機中無法訪問在 docker 容器中運行的應用程序

使用docker-compose创建Kafka主题

使用Spring Boot和docker-compose在两个Web服务之间交换数据

从 Spring Boot 应用程序连接到本地 Bitnami Docker Kafka 时出错

Spring Boot 應用程序中的 index.html 文件

為什麼這個異常在我的服務器上運行 Spring Boot\Batch 應用程序?java.lang.OutOfMemoryError: 無法創建本機線程:

Docker-compose-为运行Spring Boot独立应用程序的Docker容器提供基于XML的配置

Docker-compose:运行启用了Spring Boot和Spring Cloud Config应用程序时出现的问题

Docker Compose + Spring Boot + Postgres连接,导致错误

docker-compose push多项服务Spring Boot MySQL

Spring Boot,Docker-Compose:始终默认为端口80

Docker-Compose用于本地Spring Boot开发

Spring Boot 和 Docker-compose 设置参数

使用docker-compose时无法访问docker容器内的spring-boot rest-endpoint

Apache 使用位置標籤運行 2 laravel 應用程序

在 docker-compose (binami/kafka) 中使用 SASL_PLAINTEXT 连接到 Kakfka 代理