Skip to content

byjg/docker-php

Repository files navigation

sidebar_key tags
docker-php
docker
php

PHP Docker Images ByJG

Sponsor Opensource ByJG GitHub source Build Status

Overview

A complete, lightweight, and versatile PHP Docker image collection based on Alpine Linux. These images are designed to be small, efficient, and ready to use in various environments.

Key Features

  • Lightweight: Based on Alpine Linux, with optimized image sizes (~135-154MB)
  • Multi-architecture support: Runs on amd64 (x86_64) and arm64 (Raspberry PI, Graviton)
  • Multiple PHP versions: From PHP 5.6 to the latest PHP 8.4
  • Variety of configurations: Base, CLI, FPM, FPM-Nginx, and FPM-Apache variants
  • Pre-installed extensions: 45+ PHP extensions included in all images
  • Development tools: Composer, PHPUnit, PHP Code Sniffer, and more in CLI images
  • Production-ready: Optimized for both development and production environments
  • Security-hardened: Runs as non-root user (app), includes SBOM & build provenance

Documentation Index

See full documentation at: https://opensource.byjg.com/docs/devops/docker-php

Quick Start

# Pull an image
docker pull byjg/php:8.3-cli

# Run PHP
docker run -it --rm byjg/php:8.3-cli php --version

# Use with your project
docker run -v $PWD:/workdir -w /workdir byjg/php:8.3-cli php script.php

Image Variants

Five different images for each PHP Version:

Image Type Description
base Minimal image with 45+ PHP extensions and Composer
cli Development tools (PHPUnit, PHP_CodeSniffer, PHPMD)
fpm PHP-FPM for custom web server configurations
fpm-nginx Complete LEMP stack (Nginx + PHP-FPM)
fpm-apache Complete LAMP stack (Apache + PHP-FPM)

Supported PHP Versions

Version Latest Version Monthly Builds Alpine Version
8.5 8.5.2 yes edge
8.4 8.4.17 yes edge
8.3 8.3.30 yes edge
8.2 8.2.30r2 yes edge
8.1 8.1.31 - 3.19
8.0 8.0.30 - 3.16
7.4 7.4.33 - 3.15
7.3 7.3.33 - 3.12
7.2 7.2.33 - 3.9
7.1 7.1.33 - 3.7
7.0 7.0.33 - 3.5
5.6 5.6.40 - 3.8

:::info PHP versions with monthly builds receive regular updates. Legacy versions (without monthly builds) are no longer supported. :::

:::warning Why Alpine edge? PHP 8.2-8.5 use Alpine edge to avoid critical unpatched vulnerabilities in Alpine 3.22, including CVE-2023-27482 (supervisor) and other security issues. Monthly tagged releases (YYYY.MM) provide stability checkpoints. See Security Features for details. :::

:::tip For Production: Pin to specific monthly tags for guaranteed reproducibility:

docker pull byjg/php:8.4-base-2025.11

:::

Use Cases

These images are ready to use in:

  • Development Environment - Fast setup with all tools included
  • Production Environment - Optimized, lightweight containers
  • CI/CD Pipelines - Travis-CI, Circle-CI, Jenkins, Bitbucket Pipelines, GitHub Actions
  • IDE Integration - Full PHP support without local installation (see IDE Integration)

Image Sizes

Uncompressed sizes for reference:

Build Type Uncompressed Size
base ~135MB
cli ~154MB
fpm ~139MB
fpm-nginx ~154MB
fpm-apache ~154MB

Open source ByJG

About

A complete and small PHP Docker image based on Alpine Linux.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors