## AdoptOpenJDK 停止发布 OpenJDK 二进制,而 Eclipse Temurin 是它的延伸,提供更好的稳定性 ## 感谢复旦核博士的建议!灰子哥,牛皮! FROM docker.io/eclipse-temurin:21-jre ## 创建目录,并使用它作为工作目录 RUN mkdir -p /yudao-server WORKDIR /yudao-server ## 配置文件目录,便于挂载到宿主机进行修改 ARG CONFIG_DIR=/opt/alert/alert-backend ENV CONFIG_DIR=${CONFIG_DIR} RUN mkdir -p ${CONFIG_DIR} VOLUME ${CONFIG_DIR} ## 将默认配置同步到配置目录,供首次启动或参考 COPY ./src/main/resources/application*.yaml ${CONFIG_DIR}/ COPY ./src/main/resources/logback-spring.xml ${CONFIG_DIR}/ ## 将后端项目的 Jar 文件,复制到镜像中 COPY ./target/yudao-server.jar app.jar ## 设置 TZ 时区 ENV TZ=Asia/Shanghai ## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖 ENV JAVA_OPTS="-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom" ## 应用参数 ENV ARGS="" ENV SPRING_CONFIG_ADDITIONAL_LOCATION=file:${CONFIG_DIR}/ ENV LOGGING_CONFIG=${CONFIG_DIR}/logback-spring.xml ## 暴露后端项目的 48080 端口 EXPOSE 48080 ## 启动后端项目 CMD java ${JAVA_OPTS} -Dlogging.config=${LOGGING_CONFIG} -jar app.jar --spring.config.additional-location=${SPRING_CONFIG_ADDITIONAL_LOCATION} $ARGS