Docker CE
这个版本库现在已经废弃,并将被归档警告。
从 Docker 20.10 版本开始,Docker Engine 和 Docker CLI 的包直接从各自的源码库中构建,而不是从这个源码库中构建。
实际上这意味着:
- 这个仓库不再是 Docker CE 构建的 "真相之源"。
- Docker CLI 构建的提交 SHA 和标签将来自 docker/cli 仓库,Docker 引擎的提交 SHA 和标签将来自 moby/moby 仓库。
- 引擎、CLI 和打包的发布分支将在各自的仓库中维护。
- 这个版本库将停止更新,将来会被存档。
- Changelog 现在是 Release Notes。
- 当版本库归档时,这个版本库的主分支将被清空。
描述
这个仓库存放的是 Docker CE 产品的开源组件。主分支的作用是定期统一上游组件。长效的发布分支存放着产品生命周期内进入产品版本的代码。
该仓库由 Docker 公司全权维护。
问题
有单独的问题跟踪仓库,为终端用户 Docker CE 产品专门为一个平台。找到你的问题或为你正在使用的平台提交一个新问题。
- https://github.com/docker/for-linux
- https://github.com/docker/for-mac
- https://github.com/docker/for-win
- https://github.com/docker/for-aws
- https://github.com/docker/for-azure
提交拉请求
这个版本库不直接接受 components 目录下的文件的PR。要对组件目录下的文件做出贡献,请参见 CONTRIBUTING.md。
统一上游源
主分支是将不同上游git仓库中的组件组合起来,使用 moby-components 工具改编成一个统一的目录结构。
你可以在 components.conf 文件中查看上游 git 仓库。每个组件都被隔离到自己的 components 目录下。
该工具会在适当的路径内导入每个组件的 git 历史记录。
例如,这显示了一个提交从 moby/moby@a27b4b8 导入组件引擎到 components/engine目录下。
commit 5c70746915d4589a692cbe50a43cf619ed0b7152 Author: Andrea Luzzardi <aluzzardi@gmail.com> Date: Sat Jan 19 00:13:39 2013 Initial commit Upstream-commit: a27b4b8cb8e838d03a99b6d2b30f76bdaf2f9e5d Component: engine components/engine/container.go | 203 ++++++++++++++++++++++++++++... components/engine/container_test.go | 186 ++++++++++++++++++++++++++++... components/engine/docker.go | 112 ++++++++++++++++++++++++++++... components/engine/docker_test.go | 175 ++++++++++++++++++++++++++++... components/engine/filesystem.go | 52 ++++++++++++++++++++++++++++... components/engine/filesystem_test.go | 35 +++++++++++++++++++++++++++ components/engine/lxc_template.go | 94 ++++++++++++++++++++++++++++... components/engine/state.go | 48 ++++++++++++++++++++++++++++... components/engine/utils.go | 115 ++++++++++++++++++++++++++++... components/engine/utils_test.go | 126 ++++++++++++++++++++++++++++... 10 files changed, 1146 insertions(+)
对主分支的更新
新功能的主要开发应该指向上游的 git 仓库,这个仓库的主分支会定期从上游拉入新的变化,提供整合点。该仓库的主分支会定期从上游拉入新的变化,以提供一个整合点。
发布分支
当 Docker CE 的发布开始时,将从 master 中创建一个新的分支,分支名称将是 YY.MM,代表基于时间的产品发布版本,例如 17.06。分支名称将以 YY.MM 来代表产品基于时间的发布版本,例如 17.06。
向发布分支添加修复程序
注意:修复的每次提交应该只影响一个组件目录内的文件。
上游可用的修复
应该针对发布分支创建一个 PR cherry-pick,挑选必要的提交。如果不能干净利落地应用摘取,则应手动移植修复的逻辑。
还没有修复
首先为发布分支创建包含修复的 PR。一旦合并了修复,请确保将修复移植到相应的上游 git repo。
发布标签
每一个候选版本(RC)和通用版本(GA)都会有一个 git 标签。该标签将只指向发布分支上的提交。