【问题标题】:Connecting kafDrop to a Secure Broker将 kafDrop 连接到安全代理
【发布时间】:2020-01-16 09:55:58
【问题描述】:

我正在尝试使用 docker 映像运行 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 apache-kafka


【解决方案1】:

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

这是一个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 网络需要调整以允许外部客户端

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 2015-12-06
    • 1970-01-01
    • 2018-11-08
    • 2020-11-04
    • 1970-01-01
    相关资源
    最近更新 更多