मैं Laravel 5.2 एप्लिकेशन dockerize कोशिश कर रहा हूँ पर विचार नहीं करेगा। इसके लिए मैं निम्नलिखित छवियों का उपयोग कर रहा हूँ,डोकर apache2 नई 000-default.conf
php:apache
mysql:5.7
नीचे है मेरी docker-compose.yml
web:
build: .
volumes:
- ./:/var/www/html
ports:
- "9899:80"
links:
- db
command : [/usr/sbin/apache2ctl, -D, FOREGROUND]
db:
image: mysql:5.7
volumes:
- /home/data:/var/lib/mysql
environment:
MYSQL_DATABASE: custom
MYSQL_ROOT_PASSWORD: custom
और मेरे Dockerfile
FROM php:apache
RUN apt-get update && docker-php-ext-install pdo pdo_mysql
RUN rm -f /etc/apache2/sites-available/000-default.conf
ADD ./settings/000-default.conf /etc/apache2/sites-available
दोनों Dockerfile
और docker-compose.yml
laravel
रूट निर्देशिका में हैं। लार्वेल आधारित ऐप चलाने के लिए, सर्वर को public
फ़ोल्डर को इंगित करना होगा। तो, आप मुझे
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
सब कुछ docker-compose up
आदेश पर ठीक चलता है, नीचे 000-default.conf
फ़ाइल के साथ apache2
के डिफ़ॉल्ट विन्यास फाइल की जगह कर रहा हूँ लेकिन, जब मैं localhost:9899
ब्राउज़ मैं निषिद्ध त्रुटि मिलता है, लेकिन localhost:9899/public
सही ढंग से laravel
ऐप्लिकेशन को लॉन्च देख सकते हैं। इसका मतलब है कि मेरी आपूर्ति 000-default.conf
प्रभाव और सर्वर होने नहीं है अभी भी /var/www/html/
बजाय /var/www/html/public
को इंगित करता है।
तो मैं करने की कोशिश की, exec
000-default.conf
जाँच करने के लिए कंटेनर चल पाने के लिए। और मैं डिफ़ॉल्ट रूप से अपनी फाइल देख सकता था। मुझे इस मुद्दे के आसपास मेरा सिर नहीं मिल रहा है। मैं अपने 000-default.conf
पर विचार करने के लिए अपाचे चाहता हूँ। मुझे उम्मीद है कि आप लोग देख सकते हैं कि मैं क्या गलत कर रहा हूं।
कॉन्फ़िगरेशन फ़ाइल एक सिमलिंक कि में दाखिल करने के लिए कहते हैं साइटों-उपलब्ध है –