FROM eclipse-temurin:21-jre VOLUME /tmp ## 创建目录,并使用它作为工作目录 RUN mkdir -p /app/java/seer-iot WORKDIR /app/java/seer-iot ## 将后端项目的 Jar 文件,复制到镜像中 COPY ./target/*.jar app.jar ## 设置 TZ 时区 ## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖 ENV TZ=Asia/Shanghai \ JAVA_OPTS="-Xms1g -Xmx1g -Xmn512m \ -XX:+UseG1GC \ -XX:MaxGCPauseMillis=200 \ -XX:+UseContainerSupport \ -XX:+UseNUMA \ -XX:+ParallelRefProcEnabled \ -XX:+UseStringDeduplication \ -XX:MaxRAMPercentage=70.0 \ -XX:MetaspaceSize=256m \ -XX:MaxMetaspaceSize=256m \ -XX:MaxDirectMemorySize=512m \ -XX:+HeapDumpOnOutOfMemoryError \ -XX:HeapDumpPath=./iot_heapdump.hprof" ENTRYPOINT exec java $JAVA_OPTS -jar app.jar --spring.profiles.active="$SPRING_PROFILES_ACTIVE" --spring.cloud.nacos.discovery.ip="$NACOS_DISCOVERY_IP"