docker-php
🐳 Production-ready Docker images for PHP. Optimized for Laravel, WordPress, and more!
Top Related Projects
Full PHP development environment for Docker.
Quick Overview
The serversideup/docker-php repository is a collection of Docker images for PHP development and production environments. It provides pre-configured, optimized PHP images with various extensions and tools, designed to streamline the setup process for PHP applications in Docker containers.
Pros
- Ready-to-use PHP images with common extensions and tools pre-installed
- Optimized for both development and production environments
- Regular updates to keep up with the latest PHP versions and security patches
- Supports multiple PHP versions (7.4, 8.0, 8.1, 8.2)
Cons
- Limited customization options for specific use cases
- May include unnecessary extensions for some projects, potentially increasing image size
- Requires familiarity with Docker and containerization concepts
Getting Started
To use these Docker images in your project, follow these steps:
- Choose the appropriate PHP version and variant (e.g.,
serversideup/php:8.2-fpm-nginx) - Create a
Dockerfilein your project root:
FROM serversideup/php:8.2-fpm-nginx
# Copy your application files
COPY . /var/www/html
# Install additional dependencies if needed
RUN apt-get update && apt-get install -y \
your-package-here \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# Set up any custom configurations
COPY custom-php.ini /usr/local/etc/php/conf.d/custom-php.ini
- Build and run your Docker container:
docker build -t my-php-app .
docker run -p 8080:80 my-php-app
Your PHP application should now be accessible at http://localhost:8080.
Competitor Comparisons
Full PHP development environment for Docker.
Pros of Laradock
- More comprehensive ecosystem with a wider range of services and tools
- Highly customizable with extensive configuration options
- Large and active community, providing better support and frequent updates
Cons of Laradock
- Steeper learning curve due to its complexity and extensive options
- Potentially resource-intensive, especially for smaller projects
- May include unnecessary services for simpler applications
Code Comparison
Laradock (docker-compose.yml):
version: '3'
services:
php-fpm:
build:
context: ./php-fpm
args:
- LARADOCK_PHP_VERSION=${PHP_VERSION}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
Docker-PHP (docker-compose.yml):
version: '3.8'
services:
php:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/var/www/html
Laradock offers more granular control over PHP versions and configuration, while Docker-PHP provides a simpler setup with fewer customization options. Laradock's approach is better suited for complex projects with diverse requirements, whereas Docker-PHP is more straightforward for smaller applications or those new to Docker.
Both repositories aim to simplify PHP development environments using Docker, but they cater to different levels of complexity and user experience. The choice between them depends on the project's specific needs and the developer's familiarity with Docker and containerization concepts.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Introduction
Production-ready PHP Docker images built on official PHP. Optimized for Laravel, WordPress, and modern PHP applications.
What Makes These Images Different?
serversideup/php takes the official PHP Docker images and adds everything you need for real-world production use:
- â Secure by Default - Runs as unprivileged user, not root
- â Zero Config Required - Production-ready defaults, customize with environment variables
- â Batteries Included - Composer, common extensions, and helpful utilities pre-installed
- â Framework Optimized - Special automations for Laravel (migrations, queues, Horizon, etc.)
- â Multiple Variations - CLI, FPM, FPM+NGINX, FPM+Apache, FrankenPHP
- â Modern Architecture - Native health checks, S6 Overlay, unified logging
Features
![]() | ![]() | ![]() |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Getting Started
Try it in 2 minutes â¡
Want to see how easy it is? Our installation guide walks you through creating your first PHP app with Docker:
- â
Run
phpinfo()in your browser - â Upgrade PHP versions by changing one line
- â Switch between variations (FPM, FrankenPHP, etc.)
- â See environment variables in action
ð Follow the quick start guide
Quick Example
Here's what a complete Laravel setup with NGINX + PHP 8.5 looks like:
services:
php:
image: serversideup/php:8.5-fpm-nginx
ports:
- "80:8080"
environment:
# Customize PHP with environment variables
PHP_OPCACHE_ENABLE: "1"
PHP_MEMORY_LIMIT: "512M"
# Laravel automations (migrations, storage link, etc.)
AUTORUN_ENABLED: "true"
volumes:
- .:/var/www/html
That's it. No complex configs. Just environment variables.
Ready to try it? Get started with our tutorial â
Available Image Variations
Choose the variation that fits your needs. All images follow the pattern:
serversideup/php:{{version}}-{{variation-name}}
Popular Variations
| Variation | Best For | Example |
|---|---|---|
| cli | CLI scripts, cron jobs, queues | serversideup/php:8.5-cli |
| fpm | Custom web server setup | serversideup/php:8.5-fpm |
| fpm-apache | Apache-based deployments | serversideup/php:8.5-fpm-apache |
| fpm-nginx | Stable and performant web server | serversideup/php:8.5-fpm-nginx |
| frankenphp | Modern, high-performance apps with worker mode | serversideup/php:8.5-frankenphp |
Supported PHP Versions & Platforms
[!NOTE]
All images are available on Docker Hub and GitHub Packages.
We support PHP 7.4 through 8.5 with both Debian and Alpine base images.
Learn More About Choosing an Image â
| âï¸ Variation | ð Version |
|---|---|
| cli | Debian Based Alpine Based |
| fpm | Debian Based Alpine Based |
| fpm-apache | Debian Based |
| fpm-nginx | Debian Based Alpine Based |
| frankenphp | Debian Based Alpine Based |
| unit (deprecated) | â ï¸ NGINX is no longer maintaining NGINX Unit. We stopped providing updates for this image. Learn more â |
Professional Support
Need help integrating Docker with your PHP application?
- Managed Hosting - CI/CD design, managed hosting, guaranteed uptime
- One-time Session - Video + screen-sharing with core contributors
- Complete Development Team - Get help from hardware to pixel and everything in between.
Resources
- Website overview of the product.
- Docs for a deep-dive on how to use the product.
- Discord for friendly support from the community and the team.
- GitHub for source code, bug reports, and project management.
- Get Professional Help - Get video + screen-sharing help directly from the core contributors.
Contributing
As an open-source project, we strive for transparency and collaboration in our development process. We greatly appreciate any contributions members of our community can provide. Whether you're fixing bugs, proposing features, improving documentation, or spreading awareness - your involvement strengthens the project. Please review our contribution guidelines and code of conduct to understand how we work together respectfully.
- Bug Report: If you're experiencing an issue while using these images, please create an issue.
- Feature Request: Make this project better by submitting a feature request.
- Documentation: Improve our documentation by submitting a documentation change.
- Community Support: Help others on GitHub Discussions or Discord.
- Security Report: Report critical security issues via our responsible disclosure policy.
Need help getting started? Join our Discord community and we'll help you out!
Our Sponsors
All of our software is free and open to the world. None of this can be brought to you without the financial backing of our sponsors.
Black Level Sponsors
Bronze Sponsors
No bronze sponsors yet. Become a sponsor âInfrastructure Sponsors
This project requires significant computing power to build and maintain over 8,000 different Docker image tags. We're extremely grateful for the following sponsors:
Individual Supporters
About Us
We're Dan and Jay - a two-person team with a passion for open source products. We created Server Side Up to help share what we learn.
Find us at:
- ð Blog - Get the latest guides and free courses on all things web/mobile development.
- ð Community - Get friendly help from our community members.
- ð¤µââï¸ Get Professional Help - Get video + screen-sharing support from the core contributors.
- ð» GitHub - Check out our other open source projects.
- ð« Newsletter - Skip the algorithms and get quality content right to your inbox.
- ð¥ Twitter - You can also follow Dan and Jay.
- â¤ï¸ Sponsor Us - Please consider sponsoring us so we can create more helpful resources.
Our Products
If you appreciate this project, be sure to check out our other projects.
ð Books
- The Ultimate Guide to Building APIs & SPAs: Build web & mobile apps from the same codebase.
- Building Multi-Platform Browser Extensions: Ship extensions to all browsers from the same codebase.
ð ï¸ Software-as-a-Service
- Bugflow: Get visual bug reports directly in GitHub, GitLab, and more.
- SelfHost Pro: Connect Stripe or Lemonsqueezy to a private docker registry for self-hosted apps.
ð Open Source
- AmplitudeJS: Open-source HTML5 & JavaScript Web Audio Library.
- Spin: Laravel Sail alternative for running Docker from development â production.
- Financial Freedom: Open source alternative to Mint, YNAB, & Monarch Money.
Top Related Projects
Full PHP development environment for Docker.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot














