35 lines
875 B
Docker
35 lines
875 B
Docker
# ===== build stage =====
|
|
FROM harbor.merlin.xin/mirrors/docker.io/library/maven:3.9.6-eclipse-temurin-17 AS builder
|
|
|
|
WORKDIR /app
|
|
COPY pom.xml .
|
|
RUN --mount=type=cache,target=/root/.m2 mvn -B -q dependency:go-offline
|
|
|
|
COPY . .
|
|
RUN --mount=type=cache,target=/root/.m2 mvn -B -q package -DskipTests
|
|
|
|
|
|
# ===== runtime stage =====
|
|
FROM harbor.merlin.xin/mirrors/docker.io/library/eclipse-temurin:17-jre-alpine
|
|
|
|
# >>> Install debug tools <<<
|
|
#RUN apk update && apk add --no-cache \
|
|
# curl \
|
|
# bind-tools \
|
|
# busybox-extras \
|
|
# iproute2 \
|
|
# tcpdump \
|
|
# net-tools
|
|
|
|
WORKDIR /app
|
|
COPY --from=builder /app/target/*.jar app.jar
|
|
|
|
RUN addgroup -S spring && adduser -S spring -G spring
|
|
|
|
RUN mkdir -p /app/uploads/photo \
|
|
&& chown -R spring:spring /app/uploads
|
|
|
|
USER spring
|
|
|
|
ENTRYPOINT ["java","-jar","/app/app.jar","--spring.config.location=file:/app/application.yml"]
|