【问题标题】:Path is not writable within container [closed]路径在容器内不可写
【发布时间】:2017-10-09 21:12:45
【问题描述】:

我有一个在 docker 容器中运行的 Laravel 应用程序,并且正在运行到 Path "/var/www/app/storage/clockwork" is not writable. 根据 Laravel 提供的信息,用户是 www-data。最初它显示拥有该目录的用户和组的“1000”和“1001”。我修改了 www-data 用户和组的 uid 和 gid 以匹配容器内的用户和组。 ls -l 显示如下:

drwxrwxr-x 2 www-data www-data 4096 May 10 19:01 clockwork

如果 www-data 用户拥有该目录,我不明白为什么它无法写入该目录。我在这里错过了什么?

【问题讨论】:

    标签: php linux laravel docker permissions


    【解决方案1】:

    仔细检查您的 Web 服务器的用户(例如:/etc/nginx/nginx.conf),如果您使用的是 PHP-FPM,那么用户也同样如此(取决于发行版,但类似于 /etc/ php/VERSION/fpm/php-fpm.conf)。

    确保用户对所有父目录(在您的情况下为 /var /var/www /var/www/app 和 /var/www/app/storage)具有执行权限。您应该能够使用该用户 sudo -u www-data stat /var/www/app/storage/clockwork 来“统计”目录。

    如果目录是从主机挂载到容器的,则存在一些已知问题,具体取决于操作系统等。

    【讨论】:

    • 感谢您的回答。显然我只需要重新启动容器。
    【解决方案2】:

    显然重启容器是我需要做的。关闭并恢复后,一切正常。

    【讨论】:

      猜你喜欢
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多