Refactor Docker setup and enhance file transfer progress handling. Updated Dockerfile for multi-stage builds, modified docker-compose.yml to include image and container name, and improved progress bar functionality in app.js for better user feedback during file transfers.

This commit is contained in:
liu
2026-02-03 11:35:29 +08:00
parent 7e288f7c90
commit caf0d97903
6 changed files with 71 additions and 16 deletions

View File

@@ -1,12 +1,27 @@
# 构建阶段:先执行 mvn clean package 生成 target/sftp-manager-1.0.0.jar
# ========== 阶段一Maven 构建 ==========
FROM eclipse-temurin:8-jdk-alpine AS builder
WORKDIR /build
# 先只复制 pom利用 Docker 缓存依赖层
COPY pom.xml .
RUN mvn dependency:go-offline -B -q
# 复制源码并打包(跳过测试,加快构建)
COPY src ./src
RUN mvn clean package -DskipTests -B -q
# ========== 阶段二:运行 ==========
FROM eclipse-temurin:8-jre-alpine
VOLUME /tmp
ARG JAR_FILE=target/sftp-manager-1.0.0.jar
WORKDIR /app
COPY ${JAR_FILE} app.jar
# 从构建阶段复制 jar
COPY --from=builder /build/target/sftp-manager-1.0.0.jar app.jar
# 数据与日志目录
# 数据与日志目录(挂载卷时会覆盖)
RUN mkdir -p /app/data /app/logs
ENTRYPOINT ["java", "-jar", "/app.jar"]
EXPOSE 48081
ENTRYPOINT ["java", "-jar", "app.jar"]