20 lines
711 B
Docker
20 lines
711 B
Docker
|
|
# Multi-stage: build backend JAR
|
||
|
|
FROM maven:3.8.6-openjdk-8 AS backend-builder
|
||
|
|
WORKDIR /build
|
||
|
|
COPY ruoyi-bid/ .
|
||
|
|
RUN mvn clean package -DskipTests -pl ruoyi-admin -am -q
|
||
|
|
|
||
|
|
# Build frontend
|
||
|
|
FROM node:20-alpine AS frontend-builder
|
||
|
|
WORKDIR /ui
|
||
|
|
COPY ruoyi-bid/ruoyi-ui/ .
|
||
|
|
RUN npm config set registry https://registry.npmmirror.com && npm install --legacy-peer-deps && npm run build:prod
|
||
|
|
|
||
|
|
# Final runtime image
|
||
|
|
FROM openjdk:8-jre-slim
|
||
|
|
WORKDIR /app
|
||
|
|
COPY --from=backend-builder /build/ruoyi-admin/target/ruoyi-admin.jar app.jar
|
||
|
|
COPY --from=frontend-builder /ui/dist /app/dist-ui
|
||
|
|
EXPOSE 8080
|
||
|
|
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar", "--spring.profiles.active=druid,prod"]
|