Docker Engine Lifecycle & End of Life (EOL) Policy
Docker Engine follows a branch-based release model managed by the Moby project. New major versions are developed on the master branch and then stabilized in dedicated release branches named docker-X.x (for example, docker-29.x or docker-28.x). Each release branch is maintained by sponsoring maintainers who decide on backports, bug fixes, and security updates.
A branch can be in one of three states: Maintained, Maintained (security only), or Unmaintained. While a branch is Maintained, it receives regular updates, bug fixes, and security patches. When active development stops, the branch may move to Unmaintained status. At that point, it reaches its effective end of life (EOL) and no longer receives any updates or official security advisories.
This approach gives the community flexibility while clearly signaling when a version is no longer supported. There is no fixed number of years of support -- the timeline depends on maintainer availability and project priorities.
| Status | Description |
|---|---|
| Maintained | Actively developed, accepts contributions and backports, receives security updates |
| Maintained (security) | No longer actively developed but may accept critical security fixes |
| Unmaintained | No longer developed, no contributions accepted, out of scope for security advisories -- this is the EOL state |
Staying on a Maintained branch ensures you receive ongoing protection and improvements.
Risks of Using End-of-Life (EOL) Versions
Running an Unmaintained (EOL) version of Docker Engine exposes your infrastructure to several practical risks that grow over time.
| Risk | What It Means for Your Environment |
|---|---|
| Security vulnerabilities | Known issues remain unpatched, increasing the chance of container escapes or host compromises |
| No bug fixes | Problems you encounter will not be resolved by the official project |
| Compatibility gaps | Newer operating systems, kernels, or orchestration tools may stop working reliably |
| Compliance challenges | Security standards and audits often require supported software with active patching |
These risks typically start small but can become serious during security incidents or infrastructure changes.
What Happens After Docker Engine Reaches EOL
When a Docker Engine release branch becomes Unmaintained, the project stops all development and backports. No further bug fixes or security patches are provided, and the branch is considered out of scope for official advisories.
Your containers and hosts will continue to run in the short term, but over time compatibility with modern kernels, networking tools, and security features may break. Any newly discovered vulnerabilities stay unaddressed, and the wider ecosystem (orchestrators, CI/CD tools, and cloud providers) moves on to newer versions. Maintenance becomes more difficult and expensive as community support shifts elsewhere.
The recommended path is to migrate to a currently Maintained branch before your version reaches Unmaintained status.
FAQ
Q1: What does EOL mean for Docker Engine?
EOL occurs when a release branch is marked Unmaintained. No more updates, bug fixes, or security advisories are provided.
Q2: How long is a Docker Engine version supported?
Support duration is not fixed in years. It depends on when maintainers move the branch to Unmaintained status.
Q3: Will an EOL version still receive security fixes?
No. Once a branch is Unmaintained, it is out of scope for security advisories and fixes.
Q4: Is it safe to keep using an EOL version?
It is not recommended for production. The lack of updates increases security and compatibility risks over time.
Q5: When should I upgrade my Docker Engine version?
Upgrade to a currently Maintained branch before your existing version becomes Unmaintained.
Tracking & Monitoring Docker Engine EOL Dates
Docker Engine does not publish a fixed calendar of EOL dates for every future version. Instead, the project maintains a public list of branch statuses on the official Moby repository. The clearest way to stay informed is to regularly check the current maintenance status of release branches.
Many teams add simple version checks to their CI/CD pipelines or monitoring systems. Internal documentation or dashboards that flag any host running an Unmaintained branch help prevent unexpected gaps in support.
Regular checks turn lifecycle management into a routine part of infrastructure operations.
How To Check Your Docker Engine Version
Verifying your current Docker Engine version is quick and helps confirm you are on a supported release. Here are the most reliable methods:
| Method | Command |
|---|---|
| Simple version check | docker --version |
| Detailed version info | docker version |
| Engine API version | |
Run these commands regularly as part of your maintenance routine to ensure you stay on a Maintained branch.
