# 基础镜像：本地默认 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}
# FROM bellsoft/liberica-openjre-rocky:17
# FROM bellsoft/liberica-openjre-rocky:11
# FROM bellsoft/liberica-openjre-rocky:8
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-system

# 将构建产物jar包拷贝到运行时目录中
COPY jnpf-system/jnpf-system-server/target/*.jar ./jnpf-system.jar

# 指定容器内运行端口
# 补丁 #8：共享配置随镜像（默认值形态）；交付现场结构级覆盖 = 挂载 /config/shared
COPY config/shared /config/shared
ENV JNPF_CONFIG_DIR=/config

EXPOSE 30002

# 指定容器启动时要运行的命令
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-system.jar"]
