gitmyhub

official-images

Shell ★ 7.0k updated 13h ago

Primary source of truth for the Docker "Official Images" program

This repository is the source of truth for Docker Official Images, the curated, pre-built containers like ubuntu, postgres, and python that appear on Docker Hub without a publisher prefix, defining which versions exist and how they are built.

ShellDockerBashBashbrewsetup: hardcomplexity 3/5

Docker Official Images is the repository that defines the set of curated, pre-built container images you see when you search Docker Hub without a publisher prefix, things like "ubuntu", "postgres", "python", and "nginx". This repository is the source of truth for which image versions exist, where the Dockerfiles live, and how they should be built.

The images in this program follow specific quality standards. They focus on free and open-source software, they are rebuilt regularly when upstream projects release security fixes, they support multiple hardware architectures so the same image name works on regular x86 computers and ARM-based devices, and the Dockerfiles that define them are written to serve as examples of best practices.

Anyone can propose a new official image by submitting a pull request to this repository with a definition file. That file specifies the GitHub repository where the Dockerfile lives, which tags to build, and other metadata. Maintainers review the submission against a detailed checklist covering security, consistency, cacheability, and whether the image follows the upstream project's own recommendations for packaging their software.

Maintaining an official image is an ongoing commitment. Version bumps and security fixes need to be addressed promptly, and if the upstream project itself wants to take over maintainership, the README describes a process for handing that over cleanly.

A tool called Bashbrew handles the automated building and pushing of all official images. The repository also includes an extensive FAQ and review guidelines that explain how the whole program works for anyone who wants to contribute. The full README is longer than what was shown.

Where it fits