diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 47fb0e2..720f1b7 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -123,6 +123,7 @@ services: - "25000:8080" volumes: - ./logs:/app/logs + user: "1001:1001" # 使用tyapi用户运行容器 (UID 1001) networks: - tyapi-network depends_on: diff --git a/scripts/setup-logs-permissions.sh b/scripts/setup-logs-permissions.sh new file mode 100644 index 0000000..b913ffd --- /dev/null +++ b/scripts/setup-logs-permissions.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# 设置日志目录权限脚本 +# 在Linux环境下运行此脚本来解决日志权限问题 + +LOG_DIR="./logs" +USER_ID="1001" +GROUP_ID="1001" + +echo "🔧 设置日志目录权限..." + +# 创建日志目录(如果不存在) +if [ ! -d "$LOG_DIR" ]; then + echo "📁 创建日志目录: $LOG_DIR" + mkdir -p "$LOG_DIR" +fi + +# 设置目录权限 +echo "🔐 设置目录权限..." +chmod 755 "$LOG_DIR" + +# 设置目录所有者(如果以root权限运行) +if [ "$EUID" -eq 0 ]; then + echo "👤 设置目录所有者为 UID:$USER_ID GID:$GROUP_ID" + chown -R "$USER_ID:$GROUP_ID" "$LOG_DIR" +else + echo "⚠️ 未以root权限运行,跳过所有者设置" + echo "💡 如果仍有权限问题,请以root权限运行此脚本" +fi + +# 验证权限 +echo "✅ 验证权限设置..." +ls -la "$LOG_DIR" + +echo "🎉 日志目录权限设置完成!" +echo "" +echo "📋 下一步操作:" +echo "1. 重新启动Docker容器: docker-compose -f docker-compose.prod.yml up -d" +echo "2. 查看容器日志: docker logs tyapi-app-prod" +echo "3. 检查日志文件: ls -la logs/" \ No newline at end of file