readystack/nginx:1.31.8-CE-ubuntu24.04-r1
A cosign-signed build of github.com/nginx/nginx tag release-1.31.8, built clean-room from official upstream source by ReadyStack.
Signature, user and attestations below were measured on the published digest sha256:92fc5d07717d697867a9a8b6cf3bd6ecf7d7df9ec2b63a404e75dbe45606e7ca on 2026-10-27.
04daa92344a52dbc) on this release's index digest sha256:92fc5d07717d697867a9a8b6cf3bd6ecf7d7df9ec2b63a404e75dbe45606e7ca; verify with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/nginx:1.31.8-CE-ubuntu24.04-r1.nginx).This image follows the ReadyStack release-tag convention:
The current release is 1.31.8-CE-ubuntu24.04-r1 — the release on sale at readystack.dev. Release tags use the pattern <upstream-version>-CE-<base-os>-r<N>; the current one is signed, attested (SBOM + provenance), and is provided under the ReadyStack Agreement.
Earlier release tags (an older version or revision in the same pattern) are superseded. They stay pullable so existing deployments can pin them, but they are no longer re-graded, and fixes appear only in newer releases: move to the current release. For a superseded release's build kit, ask support.
Release tags never move, so pulling the same tag again never changes the image. To be offered each new release automatically (a new revision r<N+1>, or a new upstream version), use the ReadyStack Renovate preset: https://readystack.dev/updates.html
Any tag beginning with internal- is an engineering-pipeline artifact published for build observability. It is unsupported, may change or disappear without notice, and must not be used in production.
# ✓ current release
docker pull readystack/nginx:1.31.8-CE-ubuntu24.04-r1
# ✗ unsupported (do not pull)
docker pull readystack/nginx:internal-...
This release is signed; verify it with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/nginx:1.31.8-CE-ubuntu24.04-r1 (the signature is recorded in the public Sigstore transparency log). Support: [email protected], as set out in the ReadyStack Agreement.
Single container. The nginx master process is the container's main process (ENTRYPOINT /opt/nginx/sbin/nginx with the default arguments -g 'daemon off;') and starts the worker processes. nginx is compiled from source by this image's build (./auto/configure, make, make install). No database, no sidecar and no state kept on disk: with no mounts at all, the shipped configuration (/etc/nginx/nginx.conf and /etc/nginx/conf.d/default.conf) serves upstream's welcome page and other static files from /usr/share/nginx/html on port 8080. Beyond that, what the server does is decided by the configuration you mount; it works as a web server, a reverse proxy, a TCP/UDP (stream) proxy and a mail proxy.
docker run -d --name nginx -p 8080:8080 readystack/nginx:1.31.8-CE-ubuntu24.04-r1
The shipped default site answers http://localhost:8080/ with upstream's 'Welcome to nginx!' page and http://localhost:8080/healthz with the text ok. To serve your own files, mount them over the document root, for example -v "$PWD/site":/usr/share/nginx/html:ro. Mount configuration one file at a time: -v "$PWD/site.conf":/etc/nginx/conf.d/site.conf:ro adds a site next to the shipped default.conf (nginx.conf includes every /etc/nginx/conf.d/*.conf; an HTTPS site also needs its certificate and key mounted and its port published, see Tls in the handbooks), a file mounted over /etc/nginx/conf.d/default.conf replaces the default site, and a file mounted over /etc/nginx/nginx.conf replaces the main configuration. Mounting a directory over /etc/nginx/conf.d hides the shipped default.conf, which holds the port 8080 site and /healthz, so nothing answers on 8080 and the container turns unhealthy unless that directory provides its own listen 8080; server. Create each file before docker run: for a missing source path -v creates an empty directory instead. The container runs as the non-root nginx user, so mounted files must be readable by that user; keep nginx's own listen ports on 8080 and 8443 and publish them on the host ports you want (for example -p 80:8080).
The complete --network=none build kit for this image — plus admin/DB/API handbooks, the build's validation records, and its build provenance records — is at readystack.dev/buy.html. A clean-room rebuild from this release's archive on an egress-blocked host reproduced its linux/amd64 digest sha256:a15dcfdc9d381a8f199efba6a96fa8683d39b0dd6d4b2e81423bb023da1d102c on 2026-10-27.
— ReadyStack · readystack.dev
Content type
Image
Digest
sha256:92fc5d077…
Size
36.1 MB
Last updated
about 12 hours ago
docker pull readystack/nginx:1.31.8-CE-ubuntu24.04-r1