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
Dockerfile
in 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
serversideup/php
is an optimized set of Docker Images for running PHP applications in production. Everything is designed around improving the developer experience with PHP and Docker. Gone are the days of configuring each environment differently, and gone are the days of trying to figure out why your code works in one environment and not the other.
These images are highly optimized to run modern PHP applications, no matter where you want your application to run.
Experience the true difference of using these images vs the other options out there.
Read more about the key differences with these images â
Features
Usage
This repository creates a number of Docker image variations, allowing you to choose exactly what you need.
Simply use this image name pattern in any of your projects:
serversideup/php:{{version}}-{{variation-name}}
For example... If I wanted to run PHP 8.2 with FPM + NGINX, I would use this image:
serversideup/php:8.2-fpm-nginx
[!NOTE]
All our images are available on Docker Hub and GitHub Packages. ð¥³
âï¸ Variation | ð Version |
---|---|
cli | Debian Based Alpine Based |
fpm | Debian Based Alpine Based |
fpm-apache | Debian Based |
fpm-nginx | Debian Based Alpine Based |
unit | Debian Based |
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 an 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 âIndividual Supporters
Special thanks
We'd like to specifically thank a few folks for taking the time for being a sound board that deeply influenced the direction of this project.
Please check out all of their work:
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