前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker已死?听听他怎么说(开课吧)

Docker已死?听听他怎么说(开课吧)

作者头像
Maynor
发布2021-04-09 15:07:03
4900
发布2021-04-09 15:07:03
举报

文章目录

      • 为什么需要虚拟化技术
      • 眼看它起高楼,眼看它楼塌了
      • Docker底层技术

2020年底,Kubernetes 在当时最新的 Changelog 中宣布,自 V1.20 后将弃用 Docker,一石激起千层浪。Docker镜像不能用了?Podman难道要取Docker而代之?

此后唱衰Docker的消息不绝于耳。3月9日,开课吧《Hello ,World公开课》邀请《Istio实战指南》作者,ServiceMesher.com管理委员会核心成员马若飞老师,让他来谈谈,Docker现如今是什么情况?

为什么需要虚拟化技术

对于个人而言,虚拟机在个人演示,备份,隔离方面都有很重要的应用,小开依稀记得大学毕业做毕业设计要用到Siemens的WinCC与Step7,但Siemens的软件是不支持Windows10的。为了不重新做系统,小开用VMM虚拟了一个Windows7系统,顺利完成了毕业设计。

对于企业而已,虚拟化技术显得更为重要,它是一种资源管理技术,更是重新组织系统资源的一种手段,以Java Web应用为例,如果你想将代码部署到虚拟机上,需要经历三个步骤

编译成war包 在VM或云主机部署一个web server,如Tomcat 上传(scp)war包到VM

在这里插入图片描述
在这里插入图片描述

但这里就引申出一个问题,如果你在多个环境中部署多个应用,该怎么办?

这时,PaaS的出现解决了以上的问题,PaaS提供了一套完整的应用打包和分发机制和沙盒(容器)隔离应用。但是PaaS也有自己的问题

需要为不同语言、不同框架、不同版本维护一个包 本地能运行的应用(包),部署后不能运行,需要额外修改环境、配置 应用一键部署,环境需要维护

眼看它起高楼,眼看它楼塌了

2013年前,Docker还是一个默默无闻的小公司,此时还是PaaS的天下,前面我们提到过PaaS平台最大的问题是环境维护成本过高,Docker击败PaaS的杀手锏是Docker镜像将应用与环境整体打包镜像到任何实例中,通过这种降维打击,Dcoker单方面宣布了Paas平台的结束。

Docker大红大紫后很快表现出来在商业化方面的野心。2014年,Docker发布容器编排工具Swarm,Docker不仅仅想做幕后英雄,它想构建自己的生态,Swarm此后成为经营Docker生态的抓手。

然而,Swarm的发布却得罪了Docker最大的贡献者CoreOS,2014年底CoreOS推出自己的RKT容器。

同年,现如今的业界霸主Kubernetes发布,得益于依托Google多年经验沉淀,Kubernetes凭借全新的设计理念,如声明式API等方式避免与Docker正面接触,逐渐蚕食Swarm市场份额

前有劲敌追赶,但此时Docker在商业化方面却昏招迭出,针对Docker这个顶级的开源项目,Docker公司采取强势的商业策略,甚至出现了一言堂的情况。

图片
图片

为了对抗Docker强硬的政策,大批厂商纷纷倒戈。于此同时,云原生基金会(CNCF)成立,这加速了Kubernetes生态构建。此时,Kubernetes凭借开放民主的策略,已经成为容器领域炙手可热的应用。

时间来到2017年,Docker公司宣布Docker将内置Kubernetes,这意味着Docker已经臣服于Kubernetes。2020年9月,Docker宣布放弃更新Swarm。

同年年底,业界发生了一颗重磅炸弹,Kubernetes宣布放弃对Docker运行时的支持。这意味着,Kubernetes单方面宣布了对Docker商业战争的胜利,就如同当年Docker革了PaaS平台的命一样。

诚然,Docker目前依然是最流行的容器构建工具,用户人群非常庞大。但就如那句名言,老兵不死,只是逐渐凋零。

眼看它起高楼,眼看它宴宾客,眼看它楼塌了!

在这里插入图片描述
在这里插入图片描述

Docker底层技术

Docker底层引擎技术是一个典型的C/S架构的多组件应用,分为Server端dockerd和Client端CLI,中间层是Rest API。如果我们分析Docker底层核心技术,可以发现借鉴了很多Linux/Unix的技术

namespace cgroup rootfs/UnionFS

namespace做隔离,通过限制容器只能看到一部分的资源。cgroup主要功能是资源限制,通过对进程做资源限制,使进程只能使用一部分系统资源,比如CPU,磁盘,网络带宽等。而rootfs/UnionFS是基于Linux的联合文件系统。

简单来说,我们可以把容器看作一个由namespace和cgroup构成的运行时的隔离环境。

在这里插入图片描述
在这里插入图片描述

Docker常用命令

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-03-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 为什么需要虚拟化技术
  • 眼看它起高楼,眼看它楼塌了
  • Docker底层技术
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档