1、docker search kafdrop

 

命令:
docker run -d --rm  -p 9000:9000 \
    -e JVM_OPTS="-Xms32M -Xmx64M" \
    -e KAFKA_BROKERCONNECT=<host:port,host:port> \
    -e SERVER_SERVLET_CONTEXTPATH="/" \
    obsidiandynamics/kafdrop

<host:port,host:port> 为 外网集群地址 多个用逗号分隔 例如xxx.xxx.xxx.xxx:9092,yyy.yyy.yyy.yyy:9092 尖角号不留

上面的命令是百度的

以下是我自己尝试的
docker run -d --name kafdrop -p 9001:9001 \
    -e JVM_OPTS="-Xms32M -Xmx64M -Dserver.port=9001" \
    -e KAFKA_BROKERCONNECT=192.168.10.155:9092 \
    -e SERVER_SERVLET_CONTEXTPATH="/" \
    obsidiandynamics/kafdrop

因为我docker启动了其他东西占用了9000端口,而这个kafdrop其实就是一个springboot项目,以jar命令的形式启动

查看portainer界面,kafdrop的这个按钮

其实查看容器日志就可以看出是一个springboot项目的jar包了

 

所以我才知道其实就是加上-Dserver.port=9001来设置自己的端口号,因为9000端口号被占用,我想用其他的端口来访问,然而原本的docker启动命令 -p 参数并没有起到作用
docker run -d --rm  -p 9000:9000 \
    -e JVM_OPTS="-Xms32M -Xmx64M" \
    -e KAFKA_BROKERCONNECT=<host:port,host:port> \
    -e SERVER_SERVLET_CONTEXTPATH="/" \
    obsidiandynamics/kafdrop
然后进入到容器内部,想看下有什么启动脚本或者配置文件来着,结果发现了

而前面的启动命令信息可以看出,可以把-Dserver.port=9001 放到JVM_OPTS这个参数里面就可以了

 

这个时候再访问ip:9001,终于可以访问了,天,花了一晚时间~

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐