# ============================================================= # 寄卖商城 用户端 API (miao-front-2.2.jar) # build context = single-shop-22/backend # 对应宿主机启动命令: # nohup java -Xms128m -Xmx256m -jar miao-front-2.2.jar > front.log & # ============================================================= # syntax=docker/dockerfile:1.6 FROM maven:3.8.8-eclipse-temurin-17 AS builder WORKDIR /src COPY pom.xml ./ COPY crmeb-common/pom.xml crmeb-common/pom.xml COPY crmeb-service/pom.xml crmeb-service/pom.xml COPY crmeb-admin/pom.xml crmeb-admin/pom.xml COPY crmeb-front/pom.xml crmeb-front/pom.xml RUN mvn -B -pl crmeb-front -am dependency:go-offline -DskipTests || true COPY . . RUN mvn -B clean package -pl crmeb-front -am -DskipTests FROM eclipse-temurin:17-jre-jammy ENV TZ=Asia/Shanghai \ DEBIAN_FRONTEND=noninteractive \ LANG=C.UTF-8 LC_ALL=C.UTF-8 # 堆大小:可通过 compose 的 JAVA_HEAP_OPTS 覆盖 ENV JAVA_HEAP_OPTS="-Xms128m -Xmx256m" # Spring Boot 2.2.6 + Java 17 必须的模块开放参数(固定,不允许 compose 覆盖) ENV JAVA_MODULE_OPTS="\ --add-opens java.base/java.lang=ALL-UNNAMED \ --add-opens java.base/java.lang.reflect=ALL-UNNAMED \ --add-opens java.base/java.util=ALL-UNNAMED \ --add-opens java.base/java.io=ALL-UNNAMED \ --add-opens java.base/java.math=ALL-UNNAMED \ --add-opens java.base/sun.net.util=ALL-UNNAMED \ --add-opens java.base/java.net=ALL-UNNAMED" RUN apt-get update \ && apt-get install -y --no-install-recommends \ tzdata ca-certificates curl \ fontconfig fonts-dejavu fonts-wqy-zenhei \ && ln -sf /usr/share/zoneinfo/$TZ /etc/localtime \ && echo $TZ > /etc/timezone \ && rm -rf /var/lib/apt/lists/* \ && mkdir -p /app /config /usr/local/crmeb/crmebimage /app/log WORKDIR /app COPY --from=builder /src/crmeb-front/target/miao-front-2.2.jar /app/app.jar EXPOSE 30031 # 等价于:nohup java -Xms128m -Xmx256m -jar miao-front-2.2.jar > front.log & # 日志直接输出到容器 stdout,docker logs 可查看 ENTRYPOINT ["sh","-c","exec java \ $JAVA_HEAP_OPTS \ $JAVA_MODULE_OPTS \ -Dfile.encoding=UTF-8 \ -Duser.timezone=$TZ \ -jar /app/app.jar \ --spring.profiles.active=${SPRING_PROFILES_ACTIVE:-docker} \ --spring.config.additional-location=file:/config/ \ --server.port=${SERVER_PORT:-30031}"]