chore: docker构建脚本优化,SQL脚本完善
This commit is contained in:
36
Dockerfile
36
Dockerfile
@@ -1,51 +1,27 @@
|
||||
# 第一阶段:构建阶段
|
||||
FROM maven:3.9-eclipse-temurin-17 AS builder
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# 复制 pom.xml 并下载依赖(利用 Docker 缓存)
|
||||
COPY pom.xml .
|
||||
COPY easyflow-api/pom.xml easyflow-api/
|
||||
COPY easyflow-commons/pom.xml easyflow-commons/
|
||||
COPY easyflow-modules/pom.xml easyflow-modules/
|
||||
COPY easyflow-starter/pom.xml easyflow-starter/
|
||||
COPY easyflow-starter/easyflow-starter-all/pom.xml easyflow-starter/easyflow-starter-all/
|
||||
|
||||
# 注意:这里需要复制所有模块的 pom.xml 才能正确解析依赖
|
||||
# 如果模块很多,可能需要更精细的复制,但这里先简单处理
|
||||
COPY . .
|
||||
|
||||
# 执行构建
|
||||
RUN mvn clean package -DskipTests
|
||||
|
||||
# 第二阶段:运行阶段
|
||||
FROM eclipse-temurin:17-jre
|
||||
|
||||
LABEL maintainer="Cennac <cennac@163.com>"
|
||||
|
||||
ARG VERSION=2.0.4
|
||||
ARG SERVICE_NAME=easyflow-starter-all
|
||||
ARG SERVICE_PORT=8080
|
||||
|
||||
ENV VERSION ${VERSION}
|
||||
ENV SERVICE_NAME ${SERVICE_NAME}
|
||||
ENV SERVICE_PORT ${SERVICE_PORT}
|
||||
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
|
||||
ENV VERSION=${VERSION}
|
||||
ENV SERVICE_PORT=${SERVICE_PORT}
|
||||
ENV LANG=C.UTF-8
|
||||
ENV LC_ALL=C.UTF-8
|
||||
ENV JAVA_OPTS=""
|
||||
ENV TZ=Asia/Shanghai
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 安装必要的字体和工具
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends fonts-dejavu-core fontconfig && \
|
||||
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 从构建阶段复制 jar 包
|
||||
COPY --from=builder /build/easyflow-starter/easyflow-starter-all/target/${SERVICE_NAME}-*.jar app.jar
|
||||
COPY easyflow/easyflow-starter/easyflow-starter-all/target/easyflow-starter-all-*.jar /app/app.jar
|
||||
|
||||
VOLUME /tmp
|
||||
EXPOSE ${SERVICE_PORT}
|
||||
|
||||
ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar ./app.jar
|
||||
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app/app.jar"]
|
||||
|
||||
Reference in New Issue
Block a user