Php 在Docker环境中运行Symfony时的文件夹权限

Php 在Docker环境中运行Symfony时的文件夹权限,php,caching,docker,permissions,symfony,Php,Caching,Docker,Permissions,Symfony,我正在OSX上运行Docker容器。集装箱包括: 西蒙尼 Nginx php fpm 雷迪斯 这是运行Symfony应用程序的一个非常常见的设置 我遇到了一些奇怪的文件夹权限问题,出现了以下错误: My Symfony可以创建文件夹 /var/www/var/chache 但是它不能写进去。 创建缓存文件夹后,文件夹权限设置为: 10344 drwxr-xr-x 1 1000 staff 68 Apr 15 00:33 cache 文件夹的所有者是我的本地OSX用户,Docker在

我正在OSX上运行Docker容器。集装箱包括:

西蒙尼 Nginx php fpm 雷迪斯 这是运行Symfony应用程序的一个非常常见的设置

我遇到了一些奇怪的文件夹权限问题,出现了以下错误:

My Symfony可以创建文件夹

/var/www/var/chache 
但是它不能写进去。 创建缓存文件夹后,文件夹权限设置为:

10344 drwxr-xr-x 1 1000 staff    68 Apr 15 00:33 cache
文件夹的所有者是我的本地OSX用户,Docker在该用户下运行。 我尝试在Docker中更改Symfony CLI中的文件夹权限或所有者,但没有效果。 我尝试在本地控制台下使用chmod-R 777,权限已更改,但Symfony在缓存文件夹中创建了文件夹,无法再次写入

我还尝试在app_dev.php中禁用缓存:

$kernel = new AppKernel('dev', true); 
// $kernel->loadClassCache();
$request = Request::createFromGlobals();
在config.yml中:

twig:
    cache:        false
没有任何效果,所以我在这里迷路了


有没有解决问题的方法?

查看官方文档

我在ubuntu上,为了解决权限问题,我执行以下命令:

$ sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
$ sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs

您没有显示Dockerfile,因此我可以给您一个PHP-FPM容器示例,其中解决了此问题:

此行正在修复权限错误:usermod-u 1000 www数据


我觉得这篇文章和我的问题有点相关,但并没有真正解决它:只是在Ubuntu虚拟盒中运行了相同的Docker集-一切都很好,所以我猜它与OSX Docker权限问题有一定的关系。它对我有效。这么简单的解决方案!非常感谢你的帮助。请你再解释一下。所以usermod将www数据用户的ID设置为1000,是吗?这有助于解决这里的权限问题吗?谢谢
FROM debian:jessie  
RUN apt-get update
RUN apt-get install -y curl \
                       mcrypt \
    && apt-get install -y php5 \
                       php5-fpm \
                       php5-cli \
                       php-pear \
                       php5-common \
                       php5-igbinary \
                       php5-json \
                       php5-mysql \
                       php5-mysqlnd \
                       php5-gd \
                       php5-curl \
                       php5-dev \
                       php5-sqlite \
                       php5-memcached \
                       php5-memcache \
    && usermod -u 1000 www-data

EXPOSE 9000