Разработка проектов требует не только навыков программирования, но и умения настроить эффективное рабочее окружение. В этой статье я поделюсь своим опытом создания dev-окружения для PHP-проектов с использованием Docker. Я расскажу, как организовать файловую структуру, настроить Dockerfile и docker-compose.yml, а также поделюсь полезными советами по оптимизации и безопасности. Независимо от того, работаете ли вы над pet-проектом или готовитесь к командной разработке, эти практики помогут вам создать надежную и гибкую среду разработки.

В основу этого окружения легли мои любимые и часто используемые инструменты:
- Docker для контейнеризации
- Docker compose для управления контейнерами
- PHP последней версии
- Composer для управления зависимостями PHP
- xDebug для отладки приложения
- RoadRunner для запуска приложения в режиме Long-Running
- PHP-фреймворк Yii3
- БД PostgreSQL, т.к. она умеет в keep-alive коннекты, в отличие от некоторых.