刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 平台聚合服务: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"]