我正在尝试使用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 您能帮我找出我在这里犯的错误吗?
答案 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网络需要进行调整以允许外部客户端