Докер apache2 не будет считать новый 000-default.conf

Я пытаюсь докеризировать приложение Laravel 5.2. Для этого я использую следующие изображения,

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 корневая директория. Чтобы запустить приложение на основе laravel, сервер должен указать public папка. Итак, вы можете видеть, что я заменяю apache2Файл конфигурации по умолчанию с ниже 000-default.conf файл,

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/public

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

Все работает нормально docker-compose up команда, но, когда я просматриваю localhost:9899 Я получаю Запрещенную ошибку, но localhost:9899/public катера laravel приложение правильно. Это означает, что мой поставляется 000-default.conf не имеет эффекта, и сервер по-прежнему указывает на /var/www/html/ вместо /var/www/html/public,

Я попробовал, exec чтобы попасть в работающий контейнер, чтобы проверить 000-default.conf, И я мог видеть мой файл вместо по умолчанию. Я не думаю об этом. Я хочу, чтобы Апач рассмотреть мой 000-default.conf , Надеюсь, вы, ребята, видите, что я делаю не так.

5

Решение

Апач не смотрит в 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
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector