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

如何配置Fluent-Bit转发Docker日志?解决端口占用启动失败问题

解决Fluent-Bit转发Docker日志的端口冲突及配置问题

问题场景

  • 本地localhost:24224端口已被td-agent(Fluentd)占用
  • Docker配置了fluentd日志驱动,/etc/docker/daemon.json内容如下:
{"log-driver": "fluentd","log-opts": {"fluentd-address": "localhost:24224"}}
  • Fluent-Bit配置文件fluent-bit.conf中,forward输入模块监听了0.0.0.0:24224
  • 执行docker-compose up时触发端口占用错误:
ERROR: for fluent-bit  Cannot start service fluent-bit: driver failed programming external connectivity on endpoint fluent-bit (0f3884b5ca7302aa58356c28bfb041ed413554f0b9608d6476720126545779dc): Error starting userland proxy: listen tcp4 0.0.0.0:24224: bind: address already in use

解决方案

1. 修正Fluent-Bit的端口冲突

修改fluent-bit.conf中的forward输入模块端口,换成未被占用的端口(比如24225):

[INPUT]
  Name          forward
  Listen        0.0.0.0 
  port          24225

2. 调整Docker日志驱动的目标地址

让Docker将日志发送到Fluent-Bit的新端口,修改/etc/docker/daemon.json:

{"log-driver": "fluentd","log-opts": {"fluentd-address": "localhost:24225"}}

修改后重启Docker服务生效:

systemctl restart docker

3. 确认Fluent-Bit的输出链路

当前配置中Fluent-Bit已正确指向目标服务(data-prepper的2021端口),无需修改:

[OUTPUT]
  Name http
  Match *
  Host data-prepper
  Port 2021
  URI /log/ingest
  Format json

可选:保留td-agent原有端口的方案

如果需要继续使用td-agent的24224端口,可将Fluent-Bit作为td-agent的下游:

  • 保持Docker日志驱动配置不变(仍指向localhost:24224)
  • 修改td-agent配置,将日志转发到Fluent-Bit的24225端口
  • Fluent-Bit的forward输入模块保持监听24225,接收td-agent转发的日志后再发送给data-prepper

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:05:22