This commit is contained in:
2025-11-01 17:02:16 +08:00
parent 287571b421
commit ce40cafad2
4 changed files with 49 additions and 0 deletions

View File

@@ -137,6 +137,9 @@ RUN ls -la app.jar && echo "JAR 文件大小: $(du -h app.jar | cut -f1)"
# 切换到非root用户
USER app
# 确保日志目录存在且有正确权限
RUN mkdir -p /app/logs
# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
CMD curl -f http://localhost:9081/point-strategy/actuator/health || exit 1

View File

@@ -165,6 +165,9 @@ RUN ls -la app.jar && echo "JAR 文件大小: $(du -h app.jar | cut -f1)"
# 切换到非root用户
USER app
# 确保日志目录存在且有正确权限
RUN mkdir -p /app/logs
# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
CMD curl -f http://localhost:9081/point-strategy/actuator/health || exit 1

View File

@@ -237,6 +237,10 @@ deploy_app() {
# 创建部署目录
mkdir -p "$deploy_dir"/{data/{upload,temp,unzip,images,reports,elasticsearch},logs,nginx}
# 设置日志目录权限(确保容器内 app 用户可以写入)
chmod 755 "$deploy_dir/logs"
chown -R 1001:1001 "$deploy_dir/logs" 2>/dev/null || true
# 动态生成 docker-compose.yml 文件
cat > "$deploy_dir/docker-compose.yml" << EOF
version: '3.8'

39
fix-log-permissions.sh Executable file
View File

@@ -0,0 +1,39 @@
#!/bin/bash
echo "=== 日志权限修复脚本 ==="
echo
DEPLOY_DIR="/root/server/archive"
LOGS_DIR="$DEPLOY_DIR/logs"
if [ ! -d "$LOGS_DIR" ]; then
echo "❌ 日志目录不存在: $LOGS_DIR"
echo "正在创建日志目录..."
mkdir -p "$LOGS_DIR"
fi
echo "🔧 修复日志目录权限..."
# 设置目录权限
chmod 755 "$LOGS_DIR"
# 设置所有者app 用户的 UID/GID 是 1001
chown -R 1001:1001 "$LOGS_DIR" 2>/dev/null || echo "⚠️ 无法设置所有者,但权限已设置"
# 显示权限信息
echo "✓ 权限修复完成"
echo
echo "📋 目录权限信息:"
ls -la "$LOGS_DIR"
echo
echo "📋 目录所有者信息:"
ls -la "$DEPLOY_DIR" | grep logs
echo
echo "🚀 现在可以重启服务:"
echo " ./archive-manager.sh restart"
echo
echo "或者手动重启容器:"
echo " docker stop digital-archive-app"
echo " docker start digital-archive-app"