2017-10-13 74 views
0

我正在运行一个php:7.0-apache Docker镜像,但我没有权限写入/var/www/html。如何授予该用户的写权限?Docker www-data grant写入var/www的权限

Dockerfile:

FROM php:7.0-apache 
 

 
# PHP Extensions 
 
RUN docker-php-ext-install pdo_mysql 
 

 
# Composer 
 
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 
 
RUN php composer-setup.php 
 
RUN php -r "unlink('composer-setup.php');" 
 
RUN mv composer.phar /usr/local/bin/composer 
 

 
ADD vhost-default.conf /etc/apache2/sites-enabled/000-default.conf 
 

 
# Open Ports 
 
EXPOSE 80 
 
EXPOSE 443

主机的conf

<VirtualHost *:80> 
 
    ServerAdmin [email protected] 
 
    DocumentRoot /var/www/html 
 

 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
 

 
    <Directory /var/www/html > 
 
     Options Indexes FollowSymLinks 
 
     AllowOverride All 
 
     Require all granted 
 
    </Directory> 
 
</VirtualHost>

回答

1

要解决这一点,你需要在你的Dockerfile添加额外一行:

RUN chown www-data:www-data /var/www/html/ 
+0

似乎是正确的,但对我来说,它不工作:仍然没有成功码头运行槽还授予权利,因为我可以在终端 – mY777

+1

@ mY777看到你可以请接受编辑,也在PHP/apache contaiener内你可以运行ls -lah/var/www/html吗? – Sergiu