fix: 修复部署镜像与生产环境配置

- 固定 easyflow-backend 运行镜像为 linux/amd64 并接入新的容器入口脚本

- 支持外挂 jar 的运行目录权限修正、日志管理与热更新监听

- 调整 admin 生产环境基础路径与接口前缀用于部署
This commit is contained in:
2026-03-14 14:58:39 +08:00
parent b5ba6912eb
commit 14c78d54f5
3 changed files with 186 additions and 9 deletions

View File

@@ -1,25 +1,27 @@
FROM eclipse-temurin:17-jre
FROM --platform=linux/amd64 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/eclipse-temurin:17-jre
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS=""
ENV EASYFLOW_JAR_PATH=/app/easyflow.jar
ENV EASYFLOW_JAR_PATH=/app/artifacts/easyflow.jar
ENV EASYFLOW_CONFIG_PATH=file:/app/application.yml
ENV EASYFLOW_LOG_FILE=/app/logs/app.log
ENV EASYFLOW_JAR_RESTART_GRACE_SECONDS=30
WORKDIR /app
RUN useradd --system --create-home easyflow && \
apt-get update && \
apt-get install -y --no-install-recommends python3 && \
apt-get install -y --no-install-recommends python3 inotify-tools tini && \
rm -rf /var/lib/apt/lists/* && \
mkdir -p /app/logs && \
mkdir -p /app/logs /app/artifacts /app/data && \
chown -R easyflow:easyflow /app
USER easyflow
COPY docker-entrypoint.sh /usr/local/bin/easyflow-entrypoint.sh
RUN chmod 755 /usr/local/bin/easyflow-entrypoint.sh
VOLUME ["/app/logs"]
VOLUME ["/app/logs", "/app/data"]
EXPOSE 8111
ENTRYPOINT ["sh", "-c", "if [ ! -f \"${EASYFLOW_JAR_PATH}\" ]; then echo \"ERROR: easyflow jar not found: ${EASYFLOW_JAR_PATH}\"; exit 1; fi; java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar \"${EASYFLOW_JAR_PATH}\" --spring.config.location=\"${EASYFLOW_CONFIG_PATH}\" --logging.file.name=\"${EASYFLOW_LOG_FILE}\""]
ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/easyflow-entrypoint.sh"]