Running PHP-Applications in a Multi-Process Container
summary
A deployment constraint on Azure App Service forces single-container apps so the stack moves from nginx + php-fpm to a multiprocess container using s6-overlay to supervise services, with long-run services for nginx/php-fpm and one-shot migrations for DB upgrades; FrankenPHP and supervisord are evaluated but rejected. An s6-cli tool is built to create/check services, add health checks, graceful shutdown and env templating, and the setup is running reliably across about 10 applications.
AI-written summary · about
chapters (10)
- 0:00Introduction and speaker background
- 1:53Challenge with containerizing PHP apps
- 8:37One process per container philosophy
- 9:20Cloud deployment limitations
- 13:03Introducing overlay and init systems
- 17:25Why supervisor D is insufficient
- 18:28Setting up overlay in Docker
- 24:23Step-by-step service setup
- 26:15Recipes for operating with overlay
- 31:46Summary and benefits of overlay
related talks
42mKubernetes for PHP developers
01h 05mContainer-native without k8s: PHP in ECS on AWS
49mDocker & PHP development and deployment
48mGive your PHP apps superpowers with FrankenPHP
30mContainerizing legacy applications
46mDocker, Kubernetes, and OpenShift for PHP Developers
37mHow to run 200+ PHP services in production and not lose your mind
37mLessons learned from dockerizing complex Web Apps
