2016-02-16 9 views
5

Ben laravel 5.2 app dockerize çalışıyorum değerlendirmez. Bunun için ben Docker apache2 yeni 000-default.conf

php:apache 
mysql:5.7 

Aşağıda ise, şu resimleri kullanıyorum benim 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 

Ve Hem Dockerfile benim 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 

ve docker-compose.ymllaravel kök dizininde bulunmaktadır. laravel tabanlı uygulamayı çalıştırmak için, sunucu public klasöre işaret etmelidir. Yani, ben Yasak hata alıyorum ama localhost:9899/public doğru laravel uygulaması başlattı localhost:9899 gezinirken ben

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/public 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

Herşey docker-compose up komuta iyi çalışır, aşağıda 000-default.conf dosya ile apache2 'ın varsayılan yapılandırma dosyasını değiştirerek ama am görebilirsiniz. O benim hala /var/www/html/ yerine /var/www/html/public işaret 000-default.conf etkiye ve sunucusuna sahip değildir sağlanan gelir.

yüzden 000-default.conf kontrol etmek kabı çalışan girmeye, exec çalıştı. Ve dosyamı varsayılan yerine görebiliyordum. Bu konuda kafamı alamıyorum. Apache'nin benim 000-default.conf'umu düşünmesini istiyorum. Umarım yanlış yaptığım şeyleri görürsünüz.

cevap

3

Apache sites-available dizine ziyade sites-enabled dizinde görünmüyor. Ya ADD ikincisi dizine yapılandırma dosyası ya da bir sembolik ayarlayabilirsiniz: sitelerinde etkin içinde

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

Yapılandırma Dosyası dosyasına işaret eden bir sembolik sitelerinde-kullanılabilir –