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

Docker Compose中JBPM无法连接同部署Postgres服务问题求助

故障根因

这个报错完全不影响jBPM核心业务功能运行,属于非核心组件的告警日志:jBPM官方镜像默认开启了Jaeger链路追踪采集能力,默认配置会尝试向本地UDP 6831端口的Jaeger Agent上报链路追踪数据,但你的部署栈中没有部署Jaeger相关服务,目标端口未监听,因此触发ICMP Port Unreachable报错。
该日志为WARN级别,仅代表追踪数据上报失败,不会阻塞流程引擎、业务中心的正常启动和使用。你可以等容器启动2-3分钟后直接访问http://localhost:8080/business-central验证,默认登录账号密码均为wbadmin,能正常登录就说明核心服务已经运行正常,不需要被这类日志误导。

解决方案

如果想要彻底消除这个报错日志,可根据自身需求选择以下方案:

方案1:直接关闭Jaeger追踪(推荐,无额外组件依赖)

在docker-compose.yml的jBPM服务环境变量配置段添加禁用Jaeger的启动参数即可,修改后的jBPM配置段参考如下:

jbpm:
    image: quay.io/kiegroup/jbpm-server-full
    environment:
      JBPM_DB_DRIVER: postgres
      JBPM_DB_HOST: postgres
      JAVA_OPTS_APPEND: "-Dquarkus.jaeger.enabled=false"
    ports:
    - 8080:8080
    - 8001:8081
    depends_on:
    - postgres 

修改完成后执行docker-compose up -d重建jBPM容器,重启后就不会再输出Jaeger相关的报错日志。

方案2:补全Jaeger服务栈(有链路追踪需求时选择)

如果你确实需要使用链路追踪能力,可以在部署栈中新增Jaeger all-in-one服务,完整配置参考如下:

services:
  postgres:
    image: postgres:14.3-alpine
    volumes:
    - C:\Postgres:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: jbpm      
      POSTGRES_USER: jbpm
      POSTGRES_PASSWORD: jbpm
    ports:
    - 5432:5432

  jaeger:
    image: jaegertracing/all-in-one:1.50
    ports:
      - 6831:6831/udp
      - 16686:16686
    restart: unless-stopped
    
  jbpm:
    image: quay.io/kiegroup/jbpm-server-full
    environment:
      JBPM_DB_DRIVER: postgres
      JBPM_DB_HOST: postgres
      QUARKUS_JAEGER_AGENT_HOST: jaeger
    ports:
    - 8080:8080
    - 8001:8081
    depends_on:
    - postgres
    - jaeger

部署完成后可以通过http://localhost:16686访问Jaeger UI查看链路追踪数据。

额外部署注意事项

你当前使用Windows本地路径C:\Postgres作为Postgres的数据挂载目录,首次启动如果出现目录权限类报错,需要给该目录授予EveryOne用户完全控制权限,避免Postgres因无数据目录读写权限启动失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 08:31:01