Sto creando un'immagine Docker per la mia Symfony
app e devo autorizzare il server Apache a scrivere nella cache e nelle cartelle di registro
#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 creo questa immagine con docker build -t myname/symfony_apps:latest .
ed eseguo il contenitore con docker run -p 8080:80 myname/symfony_apps:latest
. Il registro di Apache è inondato da errori di autorizzazione negata, la cosa strana con cui ho verificato ls -a
e le autorizzazioni vanno bene. e quando eseguo chmod dalla bash del container, i problemi di autorizzazione di apache scompaiono e l'app funziona bene
La situazione
Esecuzione dei comandi chmod da dockerfile: le autorizzazioni vengono modificate ma Apache si lamenta ancora delle autorizzazioni negate. Esecuzione di chmod stessi comandi con bash all'interno del contenitore: le autorizzazioni vengono modificate e la mia app è in esecuzione
Qualche idea, mi sto perdendo qualcosa, forse dovrei aggiungere l'utente root da qualche parte nel Dockerfile?
apache2.conf
) non stia causando problemi? Gli errori scompaiono se non si installa apache2.conf
?