我有应用程序(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。但它不起作用。
如何确定 compose 环境部分中的
spring.kafka.bootstrap-servers
属性?
从这个答案中的comments之一来看,似乎在春季引导中你可以使用
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