21 lines
628 B
Docker
21 lines
628 B
Docker
# 第一阶段:使用包含 Maven 和 JDK 11 的镜像进行构建
|
|
FROM maven:3.8.4-openjdk-11-slim AS builder
|
|
|
|
WORKDIR /app
|
|
COPY . .
|
|
# 使用 Maven 在容器中进行编译和打包(根据需要决定是否跳过测试)
|
|
RUN mvn clean package -DskipTests
|
|
|
|
# 第二阶段:使用精简的 OpenJDK 11 镜像作为运行时环境
|
|
FROM openjdk:11-jre-slim
|
|
|
|
WORKDIR /app
|
|
# 从构建阶段复制打包好的 jar 文件到运行阶段
|
|
COPY --from=builder /app/target/baogutang-music-1.0-SNAPSHOT.jar /app/app.jar
|
|
|
|
# 若应用在 8080 端口监听,这里进行暴露
|
|
EXPOSE 8105
|
|
|
|
# 运行应用
|
|
CMD ["java", "-jar", "app.jar"]
|