我正在尝试使用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 网络需求会进行调整以允许外部客户端