Docker Tags
php-ci follows a small, predictable tagging convention so you always know exactly what you're pulling.
Convention
himanshuramavat/php-ci:<php-version>
himanshuramavat/php-ci:<php-version>-v<x.y.z>
himanshuramavat/php-ci:latest
<php-version>— a PHP minor line:8.1,8.2,8.3,8.4.<php>-v<x.y.z>— immutable release tag for reproducible pinning.latest— moving alias for the highest PHP version published (currently 8.4).
Base variant matrix
| Image tag | PHP version | Status |
|---|---|---|
himanshuramavat/php-ci:latest | 8.4 (alias) | Moving alias |
himanshuramavat/php-ci:8.4 | 8.4.x | Active — newest |
himanshuramavat/php-ci:8.3 | 8.3.x | Active — recommended |
himanshuramavat/php-ci:8.2 | 8.2.x | Security fixes only |
himanshuramavat/php-ci:8.1 | 8.1.x | Security fixes only |
Registries
The image is published to two registries with identical tags. Pick whichever avoids rate limits for your runner.
# Docker Hub (primary)
docker pull himanshuramavat/php-ci:8.3
# GitHub Container Registry (mirror)
docker pull ghcr.io/himanshuramavat/php-ci:8.3
- Docker Hub: hub.docker.com/r/himanshuramavat/php-ci
- GHCR package: github.com/himanshuramavat/php-ci/pkgs/container/php-ci
Choosing a tag
| Goal | Use |
|---|---|
| New project, sensible default | :8.3 |
| Longest support runway | :8.4 |
| Legacy compatibility check | :8.1 |
| Quick local experiment | :latest |
Don't use
:latest in CI:latest moves to a new PHP line over time. Pin a concrete tag (:8.3) — or a
digest — so your pipeline stays
reproducible.
Rebuild cadence
All active tags are rebuilt periodically to pick up upstream PHP and base-OS security patches. The PHP minor line behind each tag does not change between rebuilds — only patch-level and OS updates are absorbed. Release notes are posted to the blog and the Changelog.