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

如何将JavaFX库添加到Docker镜像以支持Yellowfin PDF导出功能

为Yellowfin 9.6 Docker镜像添加JavaFX操作指南

前置说明

Yellowfin 9.6默认使用OpenJDK 11,因此需匹配JavaFX 11 LTS版本,避免版本不兼容问题。

操作步骤

  • 第一步:拉取官方Yellowfin 9.6基础镜像
docker pull yellowfinbi/yellowfin:9.6.0
  • 第二步:在本地新建构建目录,先自行下载对应架构、适配JDK 11的JavaFX SDK压缩包放到该目录下,再编写Dockerfile:
# 基于官方9.6镜像构建
FROM yellowfinbi/yellowfin:9.6.0

# 切换到root权限执行安装操作
USER root

# 安装依赖工具(unzip)
RUN apt-get update && apt-get install -y unzip && rm -rf /var/lib/apt/lists/*

# 将本地提前下载好的JavaFX SDK压缩包复制到容器内并解压
COPY openjfx-11.0.2_linux-x64_bin-sdk.zip /tmp/javafx.zip
RUN unzip /tmp/javafx.zip -d /opt/ \
    && mv /opt/javafx-sdk-11.0.2 /opt/javafx \
    && rm -f /tmp/javafx.zip

# 配置Yellowfin启动参数,添加JavaFX模块路径和依赖模块
RUN echo 'JAVA_OPTS="$JAVA_OPTS --module-path /opt/javafx/lib --add-modules javafx.controls,javafx.fxml,javafx.web,javafx.graphics,javafx.media"' >> /srv/yellowfin/bin/setenv.sh

# 切回yellowfin默认用户
USER yellowfin
  • 第三步:构建自定义镜像
docker build -t yellowfin-with-javafx:9.6 .
  • 第四步:使用自定义镜像启动Yellowfin容器,启动参数和官方镜像保持一致即可,示例命令:
docker run -d -p 8080:8080 --name yellowfin-custom yellowfin-with-javafx:9.6

验证方式

容器启动完成后,登录Yellowfin后台,随便打开一个仪表盘,点击右上角导出选项选择PDF,若能正常生成文件即为配置成功。

注意事项

  • 如果使用arm架构服务器,需要提前下载arm64架构的JavaFX 11 SDK包替换构建目录内的x86版本
  • 不要随意更换JavaFX大版本,必须和容器内OpenJDK的大版本号保持一致,否则会出现类加载异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:24:09