From 4790f1a787747d432eb6e10ee9de981ec71e64ef Mon Sep 17 00:00:00 2001 From: augushong Date: Fri, 27 Mar 2026 20:40:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(docker):=20=E4=BF=AE=E6=AD=A3=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E5=90=AF=E5=8A=A8=E6=97=B6=E7=9A=84=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E6=9D=83=E9=99=90=E5=92=8C=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 确保挂载卷后运行时目录和存储目录具有正确的读写权限,避免因权限问题导致应用无法正常写入文件。 将定时任务进程从 root 切换到 www-data 用户运行,增强安全性。 --- docker/run.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docker/run.sh b/docker/run.sh index e22c3f5..ca64e93 100644 --- a/docker/run.sh +++ b/docker/run.sh @@ -9,6 +9,14 @@ cp /var/www/html/docker/zz-phprun.ini /usr/local/etc/php/conf.d cp /var/www/html/docker/zz-phpfpm.conf /usr/local/etc/php-fpm.d +# 设置目录权限,确保挂载卷后依然有效 +mkdir -p /var/www/html/runtime && chmod -R 777 /var/www/html/runtime +mkdir -p /var/www/html/public/storage && chmod -R 777 /var/www/html/public/storage +mkdir -p /var/www/html/public/build && chmod -R 777 /var/www/html/public/build +mkdir -p /var/www/html/storage && chmod -R 777 /var/www/html/storage +mkdir -p /var/www/html/memoryspace && chown -R www-data:www-data /var/www/html/memoryspace + + # 运行redis # nohup redis-server --requirepass "" & @@ -18,12 +26,12 @@ echo "参数为:$@" # TODO:增加自动批量运行并阻塞的脚本,比如:group default ,会调用auto.sh的default的部分,最终阻塞,auth.sh的default部分,可能会运行一系列的命令,比如清空缓存,踢人下线,重置密码 if [ "$1" = "server" ] || [ "$1" = "" ]; then - # 运行定时任务 - nohup php /var/www/html/think timer --local --quit & + # 运行定时任务 TODO:以指定用户运行 + su - www-data -c "nohup php /var/www/html/think timer --local --quit &" # 运行nginx service nginx start # 运行php-fpm php-fpm else php "/var/www/html/""$@" -fi \ No newline at end of file +fi