FROM harbor.zzmjart.com/library/compile:1.0.0 as builder COPY .git .git COPY src src COPY pom.xml . COPY settings.xml . RUN mvn -s ./settings.xml clean package -DskipTests=true FROM harbor.zzmjart.com/library/java17:1.0.0 ARG PROJECTCODE ARG PROJECTVERSION LABEL author=wangchuan COPY docker-entrypoint.sh /usr/local/bin/ COPY --from=builder /opt/app/target/*.jar $APP_HOME ENV ENV_ACTIVE="prod" \ PROJECT_NAME="${PROJECTCODE}" \ PROJECT_VERSION="${PROJECTVERSION}" \ JAVA_OPS="" \ APP_OPS="" \ SKYWALKING_OPS="" \ GC_OPS="-XX:+UseG1GC -XX:+UseStringDeduplication -XX:+OptimizeStringConcat -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"]