Приветствую! Работаю над своим проектом, достаточно долго цикл моей разработки происходил по схеме "написал/обновил код -> запустил и протестировал в vagrant/homestead -> залил по ftp в production на свой vds". Знаю, ужасная схема.
Начитался статей про преимущества git, CI/CD, Docker, автоматическое тестирование и развертывание, теперь хочу использовать эти технологии и в своем проекте. С теорией всё примерно ясно, но как применять всё это на практике представляю пока что смутно. Прошел несколько getting-started гайдов по Docker, научился базовым вещам, запускать под Docker nginx со статичным веб-сайтом.
Конкретный вопрос: как должен выглядеть "правильный" ход разработки на Laravel + Docker? Мне не понятно, как использовать Docker вместе Laravel, потому что в приложении используется куча разных компонентов: nginx, php-fpm, git, composer, psql, redis, npm/yarn. Какие должны быть контейнеры для этого всего, как они должны взаимодействовать и каков должен быть итоговый результат в production? В vagrant всё это было установлено внутри одной vm, то есть напоминало vds-сервер, но в Docker, насколько я понял совсем другая философия.
Читал насчет laradock, но в
статье на хабре почему-то говорят, что это не очень - есть проблемы с автоматизацией и запуском на production, не знаю, правда ли это.
Буду благодарен за ваши советы и помощь!