mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-08-30 04:35:33 +08:00
fix(docker): run.sh 加 umask 000 + 预创建 runtime 子目录
bind mount 模式下 Dockerfile 的权限处理被宿主目录覆盖, PHP 新建的子目录(runtime/cache/da/ 等)默认 755 导致 www-data 无法写入。 - 开头加 umask 000 让子进程创建的文件/目录全局可写 - mkdir 预创建 cache/log/temp/session/nginx 子目录 - docker-dev 和 docker-dev-sync 同步修复
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 开发环境 umask:bind mount 下 Dockerfile 的权限处理被宿主目录覆盖,
|
||||
# PHP 新建的子目录(如 runtime/cache/da/)默认 755 导致 www-data 无法写入。
|
||||
# 设 000 让子进程(php-fpm worker / timer)创建的文件/目录全局可写。
|
||||
umask 000
|
||||
|
||||
# 自动检测脚本所在目录(B-route 兼容:bind mount 下路径为 source/stack/<mode>/source/docker/)
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
@@ -44,7 +49,9 @@ cp "$SCRIPT_DIR/zzz-dev.ini" /usr/local/etc/php/conf.d
|
||||
cp "$SCRIPT_DIR/zzz-xdebug.ini" /usr/local/etc/php/conf.d
|
||||
|
||||
# ---- Step 3: Set directory permissions ----
|
||||
mkdir -p /var/www/html/runtime && chmod -R 777 /var/www/html/runtime
|
||||
# bind mount 覆盖 Dockerfile 的 mkdir/chmod,必须在启动脚本中重建
|
||||
# 预创建 ThinkPHP 运行时关键子目录,避免首次写入时 No such file or directory
|
||||
mkdir -p /var/www/html/runtime/{cache,log,temp,session,nginx} && 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
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 开发环境 umask:bind mount 下 Dockerfile 的权限处理被宿主目录覆盖,
|
||||
# PHP 新建的子目录(如 runtime/cache/da/)默认 755 导致 www-data 无法写入。
|
||||
# 设 000 让子进程(php-fpm worker / timer)创建的文件/目录全局可写。
|
||||
umask 000
|
||||
|
||||
# 自动检测脚本所在目录(B-route 兼容:bind mount 下路径为 source/stack/<mode>/source/docker/)
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
@@ -17,7 +22,9 @@ cp "$SCRIPT_DIR/zzz-xdebug.ini" /usr/local/etc/php/conf.d
|
||||
|
||||
|
||||
# 设置目录权限,确保挂载卷后依然有效
|
||||
mkdir -p /var/www/html/runtime && chmod -R 777 /var/www/html/runtime
|
||||
# bind mount 覆盖 Dockerfile 的 mkdir/chmod,必须在启动脚本中重建
|
||||
# 预创建 ThinkPHP 运行时关键子目录,避免首次写入时 No such file or directory
|
||||
mkdir -p /var/www/html/runtime/{cache,log,temp,session,nginx} && 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
|
||||
|
||||
Reference in New Issue
Block a user