# 平台聚合服务:system / permission / oauth / visualdev / visualdata / message /
|
# file / app / flowable 九个模块合一(2026-08-11)。取代原来的九个 cx-* 容器。
|
#
|
# 基础镜像:本地默认 Docker Hub 多架构(arm64 原生,L024);交付构建注入 SWR amd64 单架构
|
# (make images-offline 传 --build-arg BASE_IMAGE=swr...,见 docker/delivery/)
|
ARG BASE_IMAGE=bellsoft/liberica-openjre-rocky:21
|
FROM ${BASE_IMAGE}
|
LABEL maintainer=cx-team
|
|
# 设置时区
|
ENV TZ=Asia/Shanghai
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
# 解决连接SQLServer安全错误
|
# 如您使用SQLServer数据库,把以下注释取消
|
# COPY security/java.security /opt/java/openjdk/lib/security
|
|
# 指定运行时的工作目录
|
WORKDIR /data/jnpfsoft/javaApi/jnpf-platform
|
|
# 将构建产物jar包拷贝到运行时目录中(约 328MB,含九个模块;
|
# 对比原九个独立 fat jar 各约 198MB、合计约 1.8GB)
|
COPY jnpf-platform/jnpf-platform-server/target/*.jar ./jnpf-platform.jar
|
|
# 指定容器内运行端口
|
# 补丁 #8:共享配置随镜像(默认值形态);交付现场结构级覆盖 = 挂载 /config/shared
|
COPY config/shared /config/shared
|
ENV JNPF_CONFIG_DIR=/config
|
|
# 沿用原 jnpf-system 的端口:discovery.yaml 里九个服务名全部别名到这里
|
EXPOSE 30002
|
|
# 指定容器启动时要运行的命令
|
# ⚠️ 堆上限比单模块服务大:九个模块的类元数据都在同一个 JVM 里(实测 RSS 约 1.07GB,
|
# 堆 used 约 361MB)。compose 的 cx-platform 段用 JAVA_TOOL_OPTIONS 注入 -Xmx。
|
ENTRYPOINT ["/bin/sh","-c","java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.module=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar jnpf-platform.jar"]
|