You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04下Docker启动Kafka集群无法访问Landoop UI报连接重置

故障诱因

核心故障点是容器内负责托管Landoop UI、监听3030端口的caddy Web服务反复异常退出(退出状态码2),短时间重试过多进入FATAL状态,最终没有进程监听3030端口,浏览器访问自然返回连接重置。
caddy退出码2代表启动时配置加载失败或端口绑定失败,结合之前能正常访问、关机重启后触发故障的场景,具体诱因通常是两类:

  • 非正常关机导致容器残留的caddy自动生成配置、临时缓存文件损坏,重启后caddy读取损坏配置直接启动失败
  • 宿主机重启后3030端口被其他残留进程(未正常退出的旧docker代理进程、其他本地Web服务)占用,caddy无法绑定端口直接退出

其余日志里的现象均为正常行为:schema-registry首次启动依赖zookeeper、kafka服务就绪,短暂退出后自恢复符合预期;sample-data、smoke-tests、logs-to-kafka是一次性初始化任务,执行完成后退出状态码0属于正常退出,和本次UI访问故障无关。

修复步骤

按以下顺序操作即可恢复访问:

  1. 清理异常残留的容器资源
    先停掉当前运行的异常集群,再清理退出状态的残留容器:
    sudo docker compose down
    sudo docker system prune -f
    
  2. 排查并释放3030端口
    执行命令检查3030端口的占用情况:
    sudo lsof -i :3030
    
    如果命令返回存在占用该端口的进程,执行sudo kill -9 <返回结果里的PID数值>杀掉占用进程,确保3030端口处于空闲状态。
  3. 清理损坏的临时配置缓存(前两步执行后仍故障时再操作)
    如果docker compose配置没有做自定义数据卷挂载,执行命令清理匿名卷里损坏的caddy配置:
    sudo docker volume prune -f
    
    该操作仅清理容器临时缓存,不会删除持久化存储的Kafka业务数据
    如果做了自定义卷挂载,找到宿主机上对应caddy配置的挂载目录,删除其中损坏的Caddyfile配置文件和缓存文件即可。
  4. 重新启动集群
    执行原启动命令拉起服务:
    sudo docker compose up kafka-cluster
    
    等待日志不再输出caddy重启报错,约1分钟后访问http://127.0.0.1:3030即可正常打开Landoop UI。

内容的提问来源于stack exchange,提问作者Filbadeha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 15:36:24