将 kafDrop 连接到安全代理



我正在尝试使用docker image运行kafDrop。我能够通过运行命令连接到非SSL代理

docker run -d --rm -p 9000:9000 --network=host -e KAFKA_BROKERCONNECT=KafkaServer:9092 obsidiandynamics/kafdrop

但是当我尝试使用命令启用 SSL 连接到同一个代理时,

docker run -d --rm -p 9000:9000 --network=host -e KAFKA_BROKERCONNECT=KafkaServer:9092 -e KAFKA_PROPERTIES=$(cat kafka.properties | base64) -e KAFKA_TRUSTSTORE=$(cat myTrustStore | base64) -e KAFKA_KEYSTORE=$(cat myKeyStore | base64) obsidiandynamics/kafdrop

低于错误

/usr/bin/docker-current: Error parsing reference: "bmZpZy9wb21LZXlTdG9yZQpzc2wua2V5c3RvcmUucGFzc3dvcmQ9Y2hhbmdlaXQKc3NsLmtleS5w" is not a valid repository/tag: repository name must be lowercase.

如果我在命令中不使用base64,那么我会收到错误

/usr/bin/docker-current: Error parsing reference: "ssl.keystore.location=/opt/KafdropConfig/myKeyStore" is not a valid repository/tag: invalid reference format.

我已经在运行 docker 的机器上复制了 kafka.properties、myTrustStore 和 myKeyStore 你能帮我找出我在这里犯的错误吗?

不是有效的存储库/标记:存储库名称必须为小写

这是一个docker run错误,这意味着您的命令未正确转义

尝试在 bash 执行周围添加引号

docker run -d --rm -p 9000:9000 
-e KAFKA_BROKERCONNECT=KafkaServer:9092 
-e KAFKA_PROPERTIES="$(cat kafka.properties | base64)" 
-e KAFKA_TRUSTSTORE="$(cat myTrustStore | base64)" 
-e KAFKA_KEYSTORE="$(cat myKeyStore | base64)" 
obsidiandynamics/kafdrop

您可以使用 base64 或仅卷装载文件。 https://github.com/obsidiandynamics/kafdrop#connecting-to-a-secure-broker

注意:我删除了--network=host因为如果您确实需要它,那么您的 Kafka 网络需求会进行调整以允许外部客户端

最新更新