2017-10-13 76 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