为什么Github上找不到Docker的源码

/ docker / 没有评论 / 1406浏览

为什么Github上找不到Docker的源码

一句话回答问题:因为 docker 改名为 moby 了.想看故事请继续

Docker简介

Docker 最初是 dotCloud 公司 Solomon Hykes 在法国期间发起的一个公司内部项目。2013.3月以 Apache 2.0 协议开源。主要项目在 github 上维护,后加入 Linux 基金会,并成立 OCI (开放容器联盟).

Docker和 moby的关系

Docker 有两种含意,一种是大家最常使用的命令 docker ,另一层大家可能不一定清楚,是 docker 公司, dotCloud 是其前身。

2013年底将 Docker 项目改名成为 Moby ,是为了将之前数年构建出来的庞大粉丝团体和 Google 搜索内容,全部转移至 Docker 公司的商业产品上。Docker EE 是企业收费版, Docker CE 社区免费版,命名方式 Docker 23.XX .

关于Moby

Moby 以开源组织( Github Org )的方式存在。 Docker CE 这个产品,会由 Moby 组织下的 Moby 项目以及其它项目构建和编译出来. Moby 组织下的项目均由社区开发者共同维护。

这也意味着,今后社区贡献者和 Docker 的关系将多了一层 Moby ,即维护 Moby 项目,然后使用 Docker 公司的 Docker CE 产品。

所以,你也应该明白了。 GitHub上并不会存在一个名为 Docker CE 或 Docker 的产品 。因为 Docker CE 是一个产品,不是一个开源项目,只能从 Docker 公司上下载下来使用。

对用户有什么影响

坦白讲,没有一毛影响。但换个维度讲,平白给用户增加了很多困惑,尤其是小折用户。社区开发都对 Docker 公司的这种变向商业化行为就非常不满。

实际上,正常的技术公司,一般会维护一个开源项目打通普通用户市场,然后提供个性定制化服务或高级功能来下沉市场。但 Docker 公司的做法就比较过分了,相当于把 Docker 粉丝强行转变成自己的客户。

这也是所罗门一再解释「原Docker用户不受影响」,但没人买账的原因。问题不在于项目改名,关键问题在于 Docker公司混淆视听的行为有点愚弄用户的意味

Docker改名的背后

说白了, 一切为了钱。开源并不意味着不用吃喝,服务器费用、运营费用、人员成本不比商业化产品少。放眼业内,开源产品能赚钱的寥寥无几。真要较真也就 RedHat 这种操作系统刚需技术,即有强大的技术壁垒,也有多年的市场沉淀,还算成功。但和 Oracle 、 IBM 这种公司比起来简直九牛一毛了。

开源公司营利本来就是举世难题。开源公司的营利方式全靠商业公司,其前提还是为了防止某家公司一家独大形成垄断。

Docker的未来

容器是由 Linux 内核所提供的具有特定隔离功能的进程 ,容器技术能够让你对应用及其整个运行时环境(包括全部所需文件)一起进行打包或隔离。从而让你在不同环境(如开发、测试和生产等环境)之间轻松迁移应用的同时,还可保留应用的全部功能。

容器化无疑是新 VMware 的未来和方向。但请注意, Docker不是容器化,只是容器化工具,底层依然内核资源隔离再分配的过程。

既然市场这么大,蛋糕这么大,而 Docker 只是容器化工具而已,那是不是只要有能力就能搞一个容器化工具呢?是的, Buildah 、 Podman 等一系列容器化技术相继出现。目前为止 Docker 已然不是容器化市场的100%份额,约80%。

从数据也看的出来,虽然新工具丛生,但整体市场 Docker 和 k8s 仍然是老大。只是大家有使用的同时也要多关注市场变化。

还不知道怎么找 Docker 的源码?那这么多字我算是白写了。