Files
devopsscripts/backend/Dockerfile

41 lines
1.4 KiB
Docker

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<wangzefu520@163.com>
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"]