Php 在Docker环境中运行Symfony时的文件夹权限
我正在OSX上运行Docker容器。集装箱包括: 西蒙尼 Nginx php fpm 雷迪斯 这是运行Symfony应用程序的一个非常常见的设置 我遇到了一些奇怪的文件夹权限问题,出现了以下错误: My 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在
/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