52

Docker,再见!感谢所有人!

 5 years ago
source link: http://dockone.io/article/8768?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【编者的话】Docker不再是唯一的容器运行时,与Docker所能提供的相比,即将出现的其他容器运行时将更快、更安全、更智能、功能更丰富(其中一些已经如此)。Docker,再见!感谢Docker!感谢所有在容器技术上做出付出与贡献的可爱的人们!

早在 2018年7月 ,我就开始写一篇关于Docker即将消亡的博客文章(也可能是一种技术),但我从来没有抽出时间来完成和发表这篇文章。是时候把那篇文章拿出来了。

好吧. .是时候分享一下我对即将死去的 #docker 的看法了。

当然Docker还在这里,每个人都还在使用Docker,并且在不久的将来还会继续这样做(可预见的将来会有多远——还有待确定)。我之所以选择这个标题作为博客文章的标题,是因为在我看来,Docker作为一家公司的日子已经屈指可数了,或许它也是一种技术。请允许我占用你几分钟的时间,我将与你分享我的想法的基础。

几年前,Docker是一家改变世界的公司,我们可以有把握地说,今天仍然在改变世界。容器和容器背后的技术已经存在多年,远在Docker这个词还没被想到,甚至变成了一个动词(“容器化”所有的应用),但Docker是鼓励大众消费技术的公司。容器,以一种简单容易且时尚的方式存在着。大多数技术公司(或者至少是那些认为自己是现代技术公司的公司)将使用Docker或容器作为其产品或管道的一部分,因为它非常有意义,并为整个流程带来了如此多的好处。

在过去的12-24个月里,人们逐渐意识到Docker已经走完了自己的路,作为一种技术,他们将无法为今天的产品提供额外的价值,并决定从其他地方寻找额外的优势。

Kubernetes赢得了容器编排之战,我想没有人否认这一事实。 Docker本身也采用了Kubernetes 。总会有一些利基玩家拥有特定的Docker Swarm、Mesos、Marathon和Nomad的用例,但事实上的标准是Kubernetes。所有3家大型云服务提供商现在都有一个托管的Kubernetes解决方案,可以提供给他们的客户(最终将会淘汰他们自己多年来开发的自制解决方案,因为只能有一个)。每家云服务提供商都在建设更多的服务,提供更多的解决方案,以吸引更多的客户,增加他们的收入。

故事到这里就结束了,这没什么好看的。接下来是闪亮的东西。

目前,Kubernetes使用docker作为底层容器引擎。我认为Kubernetes社区理解Docker作为一个容器运行时(我特别使用这个术语)是尽快推出产品的最终解决方案。他们也很早就(明智地)认识到,他们需要有一个选择,那就是切换出容器运行时的选项,并最终允许Kubernetes的消费者做出选择。

开放容器计划 带来了 运行时规范 ,它打开了一扇门,让我们所有人都可以使用docker以外的其他东西作为运行时。而且它们还在 稳步增长 。Docker不再是唯一使用的运行时。他们正在社区中成长,社区正在慢慢地分享如何使用Docker之外的其他东西的知识。凯尔西·海托尔——从 CRI-O %20v1.0.0-beta.0)到 containerd 再到 gvisor多年来一直在努力更新他的Kubernetes (坦白说,这是一项了不起的工作)。社区里所有的酷孩子都不再使用docker作为底层运行时。现在有许多其他的选择,比如 clearcontainerskatacontainers ,并且这个列表还在不断地增长。

大多数人(包括我自己)都不具备足够的知识和专业技能,不知道如何将运行时切换到他们想要的运行时,通常只是使用默认的开箱即用的运行时。当人们明白他们可以很容易地选择更换容器运行时,并且知识是现成的、容易获得的,我认为我们没有任何理由再使用docker,因此Docker作为一种技术和一家公司会慢慢消失。与Docker所能提供的相比,即将出现的其他容器运行时将更快、更安全、更智能、功能更丰富(其中一些已经如此)。如果你有一个更好、更智能、更安全的产品——为什么人们会继续使用不再适合他们日益增长的需求的技术呢?

对Docker来说,为了避免这种结果,我建议投入尽可能多的精力,为任何工作负载创建最好的运行时,这样docker仍然是每个人使用的事实上的标准。这里有个问题是,容器运行时没有钱,Docker从来没有在运行时赚钱,他们在容器运行时之上和之上的企业特性中寻找收入。他们将如何解决这个问题,超出了我以及这篇文章的范围。

Docker社区群体一直在稳步下降,受欢迎程度一直在下降,新特性和公告的数量也在下降,而且在过去一两年中一直在下降。

前段时间有人告诉我,说坏话或者告诉别人坏消息通常很容易。我们可以很容易地说这是错的,这没有用,这应该改变。但是如果没有提供一个积极的转折,你就会变成一个悲观的人。“死神”,别做那样的人。

我想听听他们的建议,并在此基础上补充一点,这对你今天意味着什么。你应该开始投资于理解这些其他运行时如何帮助你,在它们合适的地方,增加你的知识和专业技能,这样你就可以做好准备,当其他人停止使用docker时,你会发现自己不得不匆忙地调整所有的基础设施。我认为这是不可避免的。

以上就是我8个月前想写的帖子。。。

促使我今天完成这篇文章的是Scott Mccarty的一篇文章——关于即将到来的RHEL 8 beta版—— Enterprise Linux 8 beta版:一套新的容器工具 ——以及我随后发布的tweet:

这将正式结束docker,,它的创作已经有一段时间了 https://t.co/kBTjpXAzAL

瞧吧,RHEL 8不再有Docker可用了。

如果你是一个容器老手,你可能已经养成了通过安装docker包来定制系统的习惯。在你全新的RHEL 8 Beta系统中,你可能要做的第一件事就是去找你的老朋友yum。你将尝试安装docker包,但是没有成功。如果你很聪明,接下来,你会搜索并找到这个包

podman-docker.noarch : "package to Emulate Docker CLI using podman."

这个podman是什么?Docker包被容器工具模块替换,该模块由Podman、Buildah、Skopeo和其他几个小部件组成。这句话里包含了很多新名字,让我们来看张图。

EzQvuur.png!web

图片来源:Doug Tidwell我想,此图胜过千言万语了。请自由地分享这篇文章,并在Twitter()上与我分享你的反馈。::Mr.lzc,软件工程师、DevOpsDays深圳核心组织者,目前供职于华为,从事云存储工作,以Cloud Native方式构建云文件系统服务,专注于K8s、容器、微服务领域。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK