NES for PHP 7.2 Container Images
Pull the NES for PHP images, drop-in replacements for the official php images, on Debian 12.
The NES for PHP 7.2 images are drop-in replacements for the official php images for
PHP 7.2 (the cli, fpm and apache variants), with release v7.2.34-nes-7.2.1: the
same entrypoints, commands, ports, PHP_INI_DIR, docker-php-ext-* helpers
and www-data user. In a Dockerfile, change the FROM line and nothing else
in the PHP setup.
The official PHP 7.2 images are on an older Debian and the NES Debian images on Debian 12, so a Dockerfile's apt-get install lines may need Debian 12 package names (for example libssl3 for libssl1.1).
Images and tags
Every image is in registry.nes.herodevs.com/nes/php-nes. Each image's version is its release without the
v, 7.2.34-nes-7.2.1, and its tag is that version, the variant and the base:
7.2.34-nes-7.2.1-<variant>-<base>. A tag names one release of one image and
never moves.
| Base | Variant | Release tag |
|---|---|---|
| Debian 12 | cli | 7.2.34-nes-7.2.1-cli-bookworm |
| Debian 12 | fpm | 7.2.34-nes-7.2.1-fpm-bookworm |
| Debian 12 | apache | 7.2.34-nes-7.2.1-apache-bookworm |
The registry serves each image under its release tag only: the official
images' moving tags, such as 7.2-fpm, have no NES counterpart. To update
to a new NES for PHP release, change the tag to the new release's.
Access
The images are in the NES registry at registry.nes.herodevs.com, which
requires a HeroDevs access token. If you do not have an access token, contact
support@herodevs.com. For more information see
Access Tokens.
Pull an image
Log in with your contact e-mail and your access token as the password:
docker login registry.nes.herodevs.com -u <your-contact-email>
then pull the images you use:
docker pull registry.nes.herodevs.com/nes/php-nes:7.2.34-nes-7.2.1-cli-bookworm
docker pull registry.nes.herodevs.com/nes/php-nes:7.2.34-nes-7.2.1-fpm-bookworm
docker pull registry.nes.herodevs.com/nes/php-nes:7.2.34-nes-7.2.1-apache-bookworm
In a Dockerfile, replace the official image with the NES image of the same
variant, for example php:7.2-fpm with:
FROM registry.nes.herodevs.com/nes/php-nes:7.2.34-nes-7.2.1-fpm-bookworm
In Kubernetes, give the pods a pull secret:
kubectl create secret docker-registry herodevs-registry \
--docker-server=registry.nes.herodevs.com \
--docker-username=<your-contact-email> \
--docker-password=<your-nes-access-token>
and name it in the pod spec's imagePullSecrets.
Check the image
php -v shows PHP 7.2.34-nes, and the image's
org.opencontainers.image.version label is the image version,
7.2.34-nes-7.2.1:
docker run --rm registry.nes.herodevs.com/nes/php-nes:7.2.34-nes-7.2.1-fpm-bookworm php -v
docker image inspect registry.nes.herodevs.com/nes/php-nes:7.2.34-nes-7.2.1-fpm-bookworm | grep org.opencontainers.image.version
Load from a tar
A host that cannot reach the registry can take an image as a file. On a host that can, pull the image and save it with its checksum:
docker pull registry.nes.herodevs.com/nes/php-nes:7.2.34-nes-7.2.1-fpm-bookworm
docker save -o nes-php-7.2.34-nes-7.2.1-fpm-bookworm.tar registry.nes.herodevs.com/nes/php-nes:7.2.34-nes-7.2.1-fpm-bookworm
sha256sum nes-php-7.2.34-nes-7.2.1-fpm-bookworm.tar > nes-php-7.2.34-nes-7.2.1-fpm-bookworm.tar.sha256
Copy both files to the other host, then check and load the image:
sha256sum -c nes-php-7.2.34-nes-7.2.1-fpm-bookworm.tar.sha256
docker load -i nes-php-7.2.34-nes-7.2.1-fpm-bookworm.tar