From bdf33e28e616ba08654f9a1b8a82822c9c72115c Mon Sep 17 00:00:00 2001 From: offline <823267011@qq.com> Date: Tue, 30 Sep 2025 16:55:42 +0800 Subject: [PATCH] update dockerfile --- python-inference-service/Dockerfile | 10 +++-- python-inference-service/requirements.txt | 2 +- ruoyi-admin/Dockerfile | 47 ++++------------------- 3 files changed, 15 insertions(+), 44 deletions(-) diff --git a/python-inference-service/Dockerfile b/python-inference-service/Dockerfile index 46c3ce8..f5395d2 100644 --- a/python-inference-service/Dockerfile +++ b/python-inference-service/Dockerfile @@ -1,11 +1,10 @@ # 使用支持CUDA的PyTorch基础镜像 -FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime +FROM python:3.9-slim # 设置工作目录 WORKDIR /app # 设置pip镜像源 -RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 安装系统依赖 RUN apt-get update && apt-get install -y \ @@ -14,14 +13,19 @@ RUN apt-get update && apt-get install -y \ libxext6 \ libxrender-dev \ libgomp1 \ + libgl1 \ + libglib2.0-dev \ curl \ + gcc \ + g++ \ && rm -rf /var/lib/apt/lists/* # 复制requirements.txt COPY requirements.txt . # 安装Python依赖 -RUN pip install --no-cache-dir -r requirements.txt +RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple + # 复制应用代码 COPY app/ /app/app/ diff --git a/python-inference-service/requirements.txt b/python-inference-service/requirements.txt index ff7684d..3bf286c 100644 --- a/python-inference-service/requirements.txt +++ b/python-inference-service/requirements.txt @@ -4,7 +4,7 @@ opencv-python==4.8.0.76 numpy==1.25.2 pydantic==2.3.0 python-multipart==0.0.6 -minio==7.1.15 +minio>=7.2,<8 torch>=1.7.0 torchvision>=0.8.1 ultralytics>=8.0.0 \ No newline at end of file diff --git a/ruoyi-admin/Dockerfile b/ruoyi-admin/Dockerfile index 4540ab0..39c10f9 100644 --- a/ruoyi-admin/Dockerfile +++ b/ruoyi-admin/Dockerfile @@ -1,63 +1,30 @@ # 构建阶段 FROM maven:3.8-eclipse-temurin-17 AS builder - -# 设置工作目录 WORKDIR /build -# 复制pom文件 -COPY pom.xml . -COPY ruoyi-admin/pom.xml ./ruoyi-admin/ -COPY ruoyi-common/pom.xml ./ruoyi-common/ -COPY ruoyi-framework/pom.xml ./ruoyi-framework/ -COPY ruoyi-generator/pom.xml ./ruoyi-generator/ -COPY ruoyi-quartz/pom.xml ./ruoyi-quartz/ -COPY ruoyi-system/pom.xml ./ruoyi-system/ -COPY ruoyi-video/pom.xml ./ruoyi-video/ +# 一次性复制完整工程(包含所有模块) +COPY . . -# 下载依赖 -RUN mvn dependency:go-offline -B - -# 复制源代码 -COPY ruoyi-admin/src ./ruoyi-admin/src -COPY ruoyi-common/src ./ruoyi-common/src -COPY ruoyi-framework/src ./ruoyi-framework/src -COPY ruoyi-generator/src ./ruoyi-generator/src -COPY ruoyi-quartz/src ./ruoyi-quartz/src -COPY ruoyi-system/src ./ruoyi-system/src -COPY ruoyi-video/src ./ruoyi-video/src -COPY ArcFace64.dat ./ - -# 构建项目 -RUN mvn clean package -DskipTests -pl ruoyi-admin -am +# 直接构建(会自动先构建依赖模块) +RUN mvn -U -B -DskipTests -T 1C clean package -pl ruoyi-admin -am # 运行阶段 FROM eclipse-temurin:17-jre-alpine - -# 安装必要的工具 RUN apk add --no-cache curl tzdata && \ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ echo "Asia/Shanghai" > /etc/timezone && \ apk del tzdata -# 设置工作目录 WORKDIR /app - -# 创建日志和上传目录 RUN mkdir -p /app/logs /app/upload -# 复制jar包和配置文件 -COPY --from=builder /build/ruoyi-admin/target/ruoyi-admin.jar /app/app.jar -COPY --from=builder /build/ArcFace64.dat /app/ +# 如果目标名不是 ruoyi-admin.jar,可用通配符 +COPY --from=builder /build/ruoyi-admin/target/*-admin*.jar /app/app.jar -# 设置环境变量 ENV JAVA_OPTS="-Xms512m -Xmx1024m -Djava.security.egd=file:/dev/./urandom" - -# 暴露端口(仅内部使用) EXPOSE 8080 -# 健康检查 HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=60s \ CMD curl -f http://localhost:8080/actuator/health || exit 1 -# 启动应用 -ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -jar /app/app.jar"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -jar /app/app.jar"]