About Docker Engine - CommunityEstimated reading time: 7 minutes
Docker Engine - Community is ideal for developers and small teams looking to get started with Docker and experimenting with container-based apps. Docker Engine - Community has three types of update channels, stable, test, and nightly:
- Stable gives you latest releases for general availability.
- Test gives pre-releases that are ready for testing before general availability.
- Nightly gives you latest builds of work in progress for the next major release.
Releases of Docker Engine and Docker Client for general availability
are versioned using dotted triples. The components of this triple
YY.mm.<patch> where the
YY.mm component is referred to as the
year-month release. The version numbering format is chosen to illustrate
cadence and does not guarantee SemVer, but the desired date for general
availability. The version number may have additional information, such as
beta and release candidate qualifications. Such releases are considered
The cadence of the year-month releases is every 6 months starting with
18.09 release. The patch releases for a year-month release take
place as needed to address bug fixes during its support cycle.
Docker Engine - Community binaries for a release are available on download.docker.com as packages for the supported operating systems. Docker Engine - Enterprise binaries are available on the Docker Hub for the supported operating systems. The release channels are available for each of the year-month releases and allow users to “pin” on a year-month release of choice. The release channel also receives patch releases when they become available.
Nightly builds are created once per day from the master branch. The version number for nightly builds take the format:
where the time is the commit time in UTC and the final suffix is the prefix
of the commit hash, for example
These builds allow for testing from the latest code on the master branch. No qualifications or guarantees are made for the nightly builds.
The release channel for these builds is called
In preparation for a new year-month release, a branch is created from
the master branch with format
YY.mm when the milestones desired by
Docker for the release have achieved feature-complete. Pre-releases
such as betas and release candidates are conducted from their respective release
branches. Patch releases and the corresponding pre-releases are performed
from within the corresponding release branch.
While pre-releases are done to assist in the stabilization process, no guarantees are provided.
Binaries built for pre-releases are available in the test channel for
the targeted year-month release using the naming format
Year-month releases are made from a release branch diverged from the master
branch. The branch is created with format
<year>.<month>, for example
18.09. The year-month name indicates the earliest possible calendar
month to expect the release to be generally available. All further patch
releases are performed from that branch. For example, once
released, all subsequent patch releases are built from the
Binaries built from this releases are available in the stable channel
stable-YY.mm, for example
stable-18.09, as well as the corresponding
Relationship between Docker Engine - Community and Docker Engine - Enterprise code
For a given year-month release, Docker releases both Docker Engine - Community and Docker Engine - Enterprise variants concurrently. Docker Engine - Enterprise is a superset of the code delivered in Docker Engine - Community. Docker maintains publicly visible repositories for the Docker Engine - Community code as well as private repositories for the Docker Engine - Enterprise code. Automation (a bot) is used to keep the branches between Docker Engine - Community and Docker Engine - Enterprise in sync so as features and fixes are merged on the various branches in the Docker Engine - Community repositories (upstream), the corresponding Docker Engine - Enterprise repositories and branches are kept in sync (downstream). While Docker and its partners make every effort to minimize merge conflicts between Docker Engine - Community and Docker Engine - Enterprise, occasionally they will happen, and Docker will work hard to resolve them in a timely fashion.
The activity for upcoming year-month releases is tracked in the milestones of the repository.
Docker Engine - Community releases of a year-month branch are supported with patches as needed for 7 months after the first year-month general availability release. Docker Engine - Enterprise releases are supported for 24 months after the first year-month general availability release.
This means bug reports and backports to release branches are assessed until the end-of-life date.
After the year-month branch has reached end-of-life, the branch may be deleted from the repository.
Reporting security issues
The Docker maintainers take security seriously. If you discover a security issue, please bring it to their attention right away!
Please DO NOT file a public issue; instead send your report privately to firstname.lastname@example.org.
Security reports are greatly appreciated, and Docker will publicly thank you for it. Docker also likes to send gifts — if you’re into swag, make sure to let us know. Docker currently does not offer a paid security bounty program but are not ruling it out in the future.
Docker Engine - Community is available on multiple platforms. Use the following tables to choose the best installation path for you.
|Docker Desktop for Mac (macOS)|
|Docker Desktop for Windows (Microsoft Windows 10)|
|Platform||x86_64 / amd64||ARM||ARM64 / AARCH64||IBM Power (ppc64le)||IBM Z (s390x)|
Backports to the Docker products are prioritized by the Docker company. A Docker employee or repository maintainer will endeavour to ensure sensible bugfixes make it into active releases.
If there are important fixes that ought to be considered for backport to active release branches, be sure to highlight this in the PR description or by adding a comment to the PR.
Patch releases are always backward compatible with its year-month version.
As a general rule, anything not mentioned in this document may change in any release.
Exceptions are made in the interest of security patches. If a break in release procedure or product functionality is required, it will be communicated clearly, and the solution will be considered against total impact.
After setting up Docker, you can learn the basics with Getting started with Docker.docker, installation, install, Docker Engine - Community, Docker Engine - Enterprise, docker editions, stable, edge