Несколько дней я пытаюсь найти хорошее решение для своего приложения Laravel. Я использую docker и docker Compose для организации своего стека и разделил его на следующие службы:
- Nginx для обслуживания запросов
- PHP-FPM для обработки запросов к приложению Laravel, переданных от Nginx
- PHP-FPM для обработки очереди приложения Laravel
- PHP-FPM для управления расписанием Laravel app
- MariaDB в качестве базы данных
Моя проблема в том, что я не уверен, как мне следует предоставлять файлы моего приложения Laravel службам. Я могу придумать два способа:
- Скопировать файлы в настроенный Dockerfile. При таком подходе я могу развернуть свое приложение через собственный реестр и запустить очередь и расписание, изменив точку входа в docker-compose.yml. Обратной стороной является то, что я не знаю, как Nginx должен получать доступ к файлам внутри контейнера, особенно к статическим ресурсам. Кроме того, это усложняет процесс разработки.
- Привяжите файлы как том к контейнеру. Это решает (почти) все недостатки первого подхода, но я не могу придумать хорошее решение для запуска обработчиков очереди и расписания (в стиле Docker).
Подробнее здесь: https://stackoverflow.com/questions/775 ... docker-way