Estou criando uma imagem do Docker para o meu Symfony
aplicativo e preciso dar permissão ao servidor apache para gravar em cache e pastas de log
#Dockerfile
FROM php:7-apache
RUN apt-get update \
&& apt-get install -y libicu-dev freetds-common freetds-bin unixodbc \
&& docker-php-ext-install intl mbstring \
&& a2enmod rewrite
COPY app/php.ini /usr/local/etc/php/
COPY app/apache2.conf /etc/apache2/apache2.conf
COPY ./ /var/www/html
RUN find /var/www/html/ -type d -exec chmod 755 {} \;
RUN find /var/www/html/ -type f -exec chmod 644 {} \;
RUN chmod -R 777 /var/www/html/app/cache /var/www/html/app/logs
Quando crio esta imagem docker build -t myname/symfony_apps:latest .
e executo o contêiner com docker run -p 8080:80 myname/symfony_apps:latest
. O log do Apache é inundado por erros de permissão negada, a coisa estranha que eu verifiquei ls -a
e as permissões estão bem. e quando executo o chmod a partir do bash do contêiner, os problemas de permissão do apache desaparecem e o aplicativo funciona bem
A situação
Executando comandos chmod a partir do dockerfile: as permissões são alteradas, mas o apache ainda reclama da permissão negada. Executando os mesmos comandos chmod com bash dentro do contêiner: as permissões são alteradas e meu aplicativo está sendo executado
Alguma idéia, estou faltando alguma coisa, talvez eu deva adicionar usuário root em algum lugar do Dockerfile?
apache2.conf
) não está causando problemas? Os erros desaparecem se você não instalar apache2.conf
?