将kafDrop连接到安全代理

时间:2020-01-15 12:53:59

标签: docker apache-kafka

我正在尝试使用docker image运行kafDrop。我可以通过运行命令

连接到非SSL代理
docker run -d --rm -p 9000:9000 --network=host -e KAFKA_BROKERCONNECT=KafkaServer:9092 obsidiandynamics/kafdrop

但是当我尝试通过使用命令启用SSL来连接到同一Broker时,

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 您能帮我找出我在这里犯的错误吗?

1 个答案:

答案 0 :(得分:0)

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

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