Symfony - один из наиболее популярных фреймворков корпоративного уровня для разработки на PHP. На основе его создают большие нагруженные приложения. Фреймворк предоставляет асбтракции на всё наиболее часто решаемые задачи: роутинг, фильрация данных, работа с базами данных, получение и отправка почты и многое-много другое.

Для работы фреймворка требуются интерпретатор PHP и веб-сервер. Наиболее оптимальный путь установки локального окружения - использовать Docker. В документации ссылаются на репозиторий dunglas/symfony-docker. В конфигурации используются образы php-fpm и веб-сервера Caddy.

Как начать проект Symfony с помощью Docker

Клонируем репозиторий с конфигурацией для Docker в текущий каталог:


    git clone https://github.com/dunglas/symfony-docker .

Собираем образы (загрузка и скачивание пакетов, необходимых для запуска приложения):


    docker-compose build --pull --no-cache

Запускаем образ: стартуют веб-сервер Caddy и интерпретатор php-fpm.


    docker-compose up -d

При первом запуске создается новый Symfony-проект и устанавливаются зависимости для него.

Начиная с версий Symfony 6.2 инструменты Flex и Cli имеют некоторую интеграцию с Docker. Устанавливая некоторые flex-сценарии, помимо composer.json также меняется Dockerfile.

При использовании консольной утилиты symfony она также может распознать, что для некоторых ресурсов (база данных, почта или очереди) используется Docker Compose, и соответствующе сконфигурирует окружение. Это поведение касается локально установленного PHP и встроенного в утилиту веб-сервера.