This commit is contained in:
2025-11-01 19:31:37 +08:00
parent cf8d4f1735
commit a192e5f434
2 changed files with 36 additions and 12 deletions

View File

@@ -109,17 +109,32 @@ FROM base
ENV JAVA_OPTS="-Xmx2g -Xms1g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Djava.awt.headless=true"
ENV SPRING_PROFILES_ACTIVE=prod
# 创建应用用户和目录
RUN groupadd -g 1001 app \
&& useradd -u 1001 -g app -s /bin/sh -d /app -M app \
&& mkdir -p /app/data/upload \
&& mkdir -p /app/data/temp \
&& mkdir -p /app/data/unzip \
&& mkdir -p /app/data/images \
&& mkdir -p /app/data/reports \
&& mkdir -p /app/data/elasticsearch \
&& mkdir -p /app/logs \
&& chown -R app:app /app
# 创建应用用户和目录(兼容 Debian/Ubuntu 与 Alpine/busybox 工具集)
RUN set -eux; \
if command -v groupadd >/dev/null 2>&1; then \
# Debian/Ubuntu/一般 GNU 工具链
groupadd -g 1001 app; \
useradd -u 1001 -g app -s /bin/sh -d /app -M app; \
elif command -v addgroup >/dev/null 2>&1; then \
# adduser/addgroup 工具链:区分 --gid 可用与否
if addgroup --help 2>&1 | grep -q -- '--gid'; then \
addgroup --gid 1001 app; \
adduser --disabled-password --shell /bin/sh --uid 1001 --ingroup app app; \
else \
addgroup -g 1001 app; \
adduser -D -s /bin/sh -u 1001 -G app app; \
fi; \
else \
echo 'no user/group management tools found' >&2; exit 1; \
fi; \
mkdir -p /app/data/upload \
/app/data/temp \
/app/data/unzip \
/app/data/images \
/app/data/reports \
/app/data/elasticsearch \
/app/logs; \
chown -R app:app /app
# 设置工作目录
WORKDIR /app
@@ -144,4 +159,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
EXPOSE 9081
# 启动应用不使用tini直接启动
CMD ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]
CMD ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]