A PHP 8.5 (FPM, Apache and FrankenPHP) based Docker base image.
# FPM
docker pull ghcr.io/specsnl/php85:latest
docker pull ghcr.io/specsnl/php85/builder:latest
# Apache
docker pull ghcr.io/specsnl/php85/apache:latest
docker pull ghcr.io/specsnl/php85/apache/builder:latest
# FrankenPHP
docker pull ghcr.io/specsnl/php85/frankenphp:latest
docker pull ghcr.io/specsnl/php85/frankenphp/builder:latest
The image name scheme: ghcr.io/specsnl/php85[/{VARIANT}][/{TARGET}]:{VERSION}
- {VARIANT}: omitted for FPM, otherwise
apacheorfrankenphp - {TARGET}: omitted for
runtime, otherwisebuilder - {VERSION}:
latest, a release tag (i.e.0.5.5),mainorpr-<number>
The builder image is also published under its old names, builder_nodejs and node, from the time Node.js had its own
target. These names are deprecated and will be removed (specsnl/github-actions#76);
use builder instead.
There are multiple targets:
- runtime: this is for production. It does not contain any development tools like Composer and Xdebug.
- builder: this is for development. This is based on the runtime-target and it adds Composer, Xdebug, Node.js etc.
Building runtime-target:
docker build --tag ghcr.io/specsnl/php85:latest --file fpm/Dockerfile --target runtime .
Building builder-target:
docker build --tag ghcr.io/specsnl/php85/builder:latest --file fpm/Dockerfile --target builder .
Available Task commands:
* build: Build all PHP Docker image targets of the FPM, Apache and FrankenPHP variants
* generate: Generate all Dockerfiles from Dockerfile.tmpl
* lint: Apply a Dockerfile linter to all Dockerfiles
* build:apache: Build all PHP Docker image targets of the Apache variant
* build:fpm: Build all PHP Docker image targets of the FPM variant
* build:frankenphp: Build all PHP Docker image targets of the FrankenPHP variant
* install:hooks: Install git hooks (pre-commit regenerates and stages Dockerfiles from template)
* lint:apache: Apply a Dockerfile linter (https://github.com/hadolint/hadolint)
* lint:fpm: Apply a Dockerfile linter (https://github.com/hadolint/hadolint)
* lint:frankenphp: Apply a Dockerfile linter (https://github.com/hadolint/hadolint)
* remove:hooks: Remove installed git hooks
* shell:apache: Interactive shell
* shell:fpm: Interactive shell
* shell:frankenphp: Interactive shell