问题描述
我在本地测试设置中使用 Kafka testcontainers 映像。
我想更新 Kafka 的配置以匹配我的部署环境。特别是,我想禁用 auto.create.topics.enable
property 看起来默认为 true
?
我不想覆盖图像,我需要以编程方式进行。
解决方法
回答我自己的问题:testcontainers Kafka 建立在 confluent-kafka
图像之上,因此支持传递相同的 env 变量。
我发现 here(这是非官方的)原始图像支持 KAFKA_AUTO_CREATE_TOPICS_ENABLE
env var。
因此可以执行以下操作:
public static KafkaContainer kafka =
new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:5.4.3"))
.withEnv("KAFKA_AUTO_CREATE_TOPICS_ENABLE","false");