You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 13, 2023. It is now read-only.
⚠️This repository is now deprecated and will be archived (Docker CE itself is NOT deprecated) ⚠️
Starting with the Docker 20.10 release, packages for the Docker Engine and
Docker CLI are built directly from their respective source repositories instead
of from this repository.
Practically this means:
This repository is no longer the “source of truth” for Docker CE builds.
The commit SHA and tag for Docker CLI build will come from the
docker/cli repository and the commit SHA and
tag for the Docker Engine will come from the
moby/moby repository.
Release branches for the Engine, CLI, and packaging will be maintained on
their respective repositories.
Updates will stop being made to this repository and it will be archived in
the future.
The master branch of this repository will be emptied when the repository
is archived.
Description
This repository hosts open source components of Docker CE products. The
master branch serves to unify the upstream components on a regular
basis. Long-lived release branches host the code that goes into a product
version for the lifetime of the product.
This repository is solely maintained by Docker, Inc.
Issues
There are separate issue-tracking repos for the end user Docker CE
products specialized for a platform. Find your issue or file a new issue
for the platform you are using:
This repository does not accept PRs for files under the components directory directly.
To contribute to the files under the components directory, see CONTRIBUTING.md .
Unifying upstream sources
The master branch is a combination of components adapted from
different upstream git repos into a unified directory structure using the
moby-components
tool.
You can view the upstream git repos in the
components.conf file. Each component is isolated into
its own directory under the components directory.
The tool will import each component git history within the appropriate path.
For example, this shows a commit
is imported into the component engine from
moby/moby@a27b4b8
into the components/engine directory.
Main development of new features should be directed towards the upstream
git repos. The master branch of this repo will periodically pull in new
changes from upstream to provide a point for integration.
Branching for release
When a release is started for Docker CE, a new branch will be created
from master. Branch names will be YY.MM to represent the time-based
release version of the product, e.g. 17.06.
Adding fixes to release branch
Note: every commit of a fix should affect files only within one component
directory.
Fix available upstream
A PR cherry-picking the necessary commits should be created against
the release branch. If the the cherry-pick cannot be applied cleanly,
the logic of the fix should be ported manually.
No fix yet
First create the PR with the fix for the release branch. Once the fix has
been merged, be sure to port the fix to the respective upstream git repo.
Release tags
There will be a git tag for each release candidate (RC) and general
availability (GA) release. The tag will only point to commits on release
branches.