2016-02-16 5 views
5

मैं 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.ymllaravel रूट निर्देशिका में हैं। लार्वेल आधारित ऐप चलाने के लिए, सर्वर को 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 को इंगित करता है।

तो मैं करने की कोशिश की, exec000-default.conf जाँच करने के लिए कंटेनर चल पाने के लिए। और मैं डिफ़ॉल्ट रूप से अपनी फाइल देख सकता था। मुझे इस मुद्दे के आसपास मेरा सिर नहीं मिल रहा है। मैं अपने 000-default.conf पर विचार करने के लिए अपाचे चाहता हूँ। मुझे उम्मीद है कि आप लोग देख सकते हैं कि मैं क्या गलत कर रहा हूं।

उत्तर

3

अपाचे sites-available निर्देशिका में नहीं बल्कि sites-enabled निर्देशिका में नहीं देखता है। आप या तो ADD बाद निर्देशिका में अपने config फाइल, या एक सिमलिंक सेट कर सकते हैं: साइटों सक्षम में

ADD ./settings/000-default.conf /etc/apache2/sites-available 
RUN ln -s /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-enabled/000-default.conf 
+0

कॉन्फ़िगरेशन फ़ाइल एक सिमलिंक कि में दाखिल करने के लिए कहते हैं साइटों-उपलब्ध है –