- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.java
More file actions
Latest commit
37 lines (26 loc) · 1.08 KB
/
Copy pathDockerfile.java
File metadata and controls
37 lines (26 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# ╔══════════════════════════════════════╗
# ║ NexusAgentJava微服务通用镜像构建 ║
# ╚══════════════════════════════════════╝
# 用法: dockerbuild --build-argMODULE=nexus-auth -fDockerfile.java .
FROMmaven:3.9-eclipse-temurin-21-alpineASbuilder
ARGMODULE
WORKDIR /build
COPYpom.xml .
COPYnexus-common/pom.xmlnexus-common/pom.xml
COPY${MODULE}/pom.xml${MODULE}/pom.xml
# 先下载依赖(利用Docker层缓存)
RUNmvndependency:go-offline -pl${MODULE} -am -B -q || true
COPYnexus-commonnexus-common
COPY${MODULE} ${MODULE}
RUNmvnpackage -pl${MODULE} -am -DskipTests -B -q \
&& mkdir -p /app \
&& cp${MODULE}/target/*.jar /app/app.jar
# ── 运行阶段 ──
FROMeclipse-temurin:21-jre-alpine
LABELmaintainer="NexusAgent Team"
RUNaddgroup -Sapp && adduser -Sapp -Gapp
WORKDIR /app
COPY --from=builder /app/app.jar .
USERapp
EXPOSE8080
ENTRYPOINT ["java", "-jar", "app.jar"]