FROM 172.31.127.251:8083/library/compile:1.0.0 as builder COPY .git .git COPY src src COPY pom.xml . RUN mvn clean package -DskipTests=true FROM 172.31.127.251:8083/library/java21:1.0.0 ARG PROJECTCODE ARG PROJECTVERSION LABEL author=wangchuan COPY docker-entrypoint.sh /usr/local/bin/ COPY --from=builder /target/*.jar $APP_HOME ENV ENV_ACTIVE="prod" \ PROJECT_NAME="${PROJECTCODE}" \ PROJECT_VERSION="${PROJECTVERSION}" \ JAVA_OPS="" \ APP_OPS="" \ SKYWALKING_OPS="" \ GC_OPS="-Xms512m -Xmx512m \ -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m \ -XX:+UseG1GC \ -XX:MaxGCPauseMillis=200 \ -XX:MaxDirectMemorySize=256m \ -XX:+UseContainerSupport \ -XX:+UseStringDeduplication \ -XX:+OptimizeStringConcat \ -Djava.security.egd=file:/dev/./urandom \ -Dspring.backgroundpreinitializer.ignore=true \ -Duser.timezone=GMT+08 \ -XX:+HeapDumpOnOutOfMemoryError \ -Xlog:gc*=info:file=$LOGS_HOME/gc.log:time,level,tags:filecount=30,filesize=50M \ -XX:HeapDumpPath=$LOGS_HOME/app.dump" RUN addgroup -g 1000 1000 && \ adduser -u 1000 -G 1000 -S -D -H 1000 && \ chown 1000:1000 -R $APP_HOME $LOGS_HOME && \ chmod 744 /usr/local/bin/docker-entrypoint.sh && \ chmod 444 $APP_HOME/*.jar WORKDIR $APP_HOME ENTRYPOINT ["docker-entrypoint.sh"]