【问题标题】:Permission denied - Unlink file权限被拒绝 - 取消链接文件
【发布时间】:2019-05-13 21:44:31
【问题描述】:

我可以上传文件但不能删除它。

我有一个 nginx、laravel 和 redis 容器。

当我上传队列时,将文件和文件夹创建到 /var/www/storage/app/public(laravel 容器)

此文件夹通过 docker 卷与主机共享。

当我尝试删除文件和文件夹时,我无法删除,因为我没有权限...

我试图在 www.conf 中将 php-fpm 用户从 www-data 更改为 root 我尝试以 root 用户身份启动 supervisord 队列进程和 fpm

www.conf

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www-data
group = www-data

supervisord.conf

[program:php-fpm]
command=/usr/local/sbin/php-fpm -F
autostart=true
autorestart=true
priority=5
stdout_events_enabled=true
stderr_events_enabled=true

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/artisan queue:work redis --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=8
priority=10
redirect_stderr=true
stdout_logfile=/var/www/storage/logs/worker.log

【问题讨论】:

    标签: php docker nginx supervisord


    【解决方案1】:

    我找到了解决方案,所以如果你们中的一些人有这种问题。

    我终于在我的 supervisord conf 中更改了 Redis 的用户 匹配php fpm的用户conf(所以www-data而不是root)

    Tada 很好用

    【讨论】:

      【解决方案2】:

      我了解您无法删除容器中的文件或文件夹,也许您可​​以看到:Can't Delete file created via Docker

      【讨论】:

      • 是的,因为我的 php 进程作为 www-data 工作,而我的容器作为 root 工作,这可能是问题所在.. 但我不想每次根据您创建文件时都做 chown链接..你明白吗?
      • 该链接意味着您可以在创建容器时进行 chown,而不是每次。也许您可以再次看到
      • 哈哈,我试试
      猜你喜欢
      • 2019-06-26
      • 2012-11-15
      • 2017-12-23
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 2011-08-07
      • 1970-01-01
      • 2011-11-04
      相关资源
      最近更新 更多