在docker中可写的文件夹权限

我有一个泊坞窗安装与本地主机的一些网站。 我使用Smarty作为我的模板引擎,它需要有一个可写的templates_c文件夹。 任何想法如何使这个文件夹可写?

错误如下:

PHP Fatal error: Smarty error: unable to write to $compile_dir '/var/www/html/sitename.local/httpdocs/templates_c'. Be sure $compile_dir is writable by the web server user. in /var/www/html/sitename.local/httpdocs/libs/Smarty.class.php on line 1093 

我知道这可以手动设置与Linux,但我正在寻找一个自动的全球解决scheme,因为我有很多网站谁有这个问题

另外值得一提的是我使用了一个相当干净的docker-compose.yml

 php56: build: . dockerfile: /etc/docker/dockerfile_php_56 volumes: - ./sites:/var/www/html - ./etc/php:/usr/local/etc/php - ./etc/apache2/apache2.conf:/etc/apache2/conf-enabled/apache2.conf - ./etc/apache2/hosts.conf:/etc/apache2/sites-enabled/hosts.conf ports: - "80:80" - "8080:8080" links: - mysql mysql: image: mysql ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=MY_PASSWORD - MYSQL_DATABASE=YOUR_DATABASE_NAME volumes: - ./etc/mysql:/docker-entrypoint-initdb.d 

基本的小docker文件:

 FROM php:5.6-apache RUN /usr/local/bin/docker-php-ext-install mysqli mysql RUN docker-php-ext-configure mysql --with-libdir=lib/x86_64-linux-gnu/ \ && docker-php-ext-install mysql RUN a2enmod rewrite 

https://github.com/wesleyd85/docker-php7-httpd-apache2-mysql (但随后与PHP 5.6)

我在这里解决了同样的问题: 在Ubuntu上运行docker:挂载的主机卷不能从容器写入

只需要添加:

 RUN chmod a+rwx -R project-dir/smarty.cache.dir 

到Dockerfile