मैं अपने Symfony
ऐप के लिए डॉकर इमेज बना रहा हूं और मुझे कैश और लॉग फोल्डर में अपाचे सर्वर को अनुमति देने की आवश्यकता है
#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
जब मैं इस छवि का निर्माण करता हूं docker build -t myname/symfony_apps:latest .
और इसके साथ कंटेनर चलाता हूं docker run -p 8080:80 myname/symfony_apps:latest
। अपाचे लॉग अनुमति अस्वीकृत त्रुटियों से भर गया है, जिस अजीब चीज के साथ मैंने जांच की है ls -a
और अनुमतियाँ ठीक हैं। और जब मैं कंटेनर की बाश से चामोद चलाता हूं, तो अपाचे अनुमति मुद्दे चले जाते हैं और ऐप अच्छी तरह से काम करता है
स्थिति
Dockerfile से chmod कमांड चलाना: अनुमतियां बदली जाती हैं, लेकिन अपाचे अभी भी अनुमति से वंचित होने की शिकायत करता है। कंटेनर के अंदर bash के साथ chmod समान कमांड चलाना: अनुमतियां बदली जाती हैं और मेरा ऐप चल रहा है
कोई भी विचार, क्या मुझे कुछ याद आ रहा है, शायद मुझे डॉकरीफाइल में कहीं रूट उपयोगकर्ता जोड़ना चाहिए?
apache2.conf
) समस्या पैदा नहीं कर रहा है? यदि आप स्थापित नहीं करते हैं तो क्या त्रुटियां दूर हो जाती हैं apache2.conf
?