清华主页 - 清华新闻 - 综合时讯 - 正文

【Docker】Docker使用的容器技术发展史

🎬 #xff1博客主页a;博主链接。
🎥 本文由 M malloc 原创,首发于 CSDN🙉
🎄 学习专栏推荐:LeetCode刷题集。
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误,请指正!
📆 未来很长�值得我们全力以赴过上更好的生活✨。

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

文章目录。

  • 😇本章详情。
  • 😇Jail时代。
    • 😇1979 年 贝尔实验室发明 chroot。
    • 😇2000 年 FreeBSD 4.0 发行 FreeBSD Jail。
    • 😇2001 年 Linux VServer 发行。
    • 😇2004 年 Solaris Containers 发行。
  • 😇云时代。
    • 😇2006 年 google 推出 Process Containers。
    • 😇2008 年 LXC 推出。
    • 😇2011 年 CloudFoundry 推出 Warden。
    • 😇2013 年 LMCTFY 启动。
    • 😇2013 年 Docker 推出到风靡全球。
  • 😇云原生时代。
    • 😇Google &Docker 竞争。
    • 😇2013 年 CoreOS 发布和 Docker 终止合作。
    • 😇2014 年 6 月 Google 发布开源容器编排引擎 Kubernetes(K8S)
  • 🤣本文小结。

😇本章详情。

🐤本文将讲述Docker容器的技术发展历史。

😇Jail时代。

😁容器不是一个新概念或新技术c;很早就有了,只是近年来遇到了云计算,整个技术被彻底引爆。

😇1979 年 贝尔实验室发明 chroot。

📑chroot 系统调用是在 1979 年开发第 7 版 Unix 在此期间介绍。贝尔实验室在 Unix V7 在开发过程中,当系统软件编译和安装完成后,发现,整个测试环境的变量发生变化,下一次测试需要重新配置环境信息。

设计师们思考是否可以隔离一个独立的环境,构建和构建测试环境,于是发明了。
chroot,一个过程的文件系统可以使用。隔离起来。

chroot 在文件系统中,系统调用可以将进程及其子进程的根目录更改为新位置。隔离以。
后,该过程无法访问外部文件,所以这个被隔离的新环境就像监狱,被命。
名为 Chroot Jail (监狱)。只需将测试信息放在后续测试中即可 Jail 测试可在中间完成。

这一进步是进程隔离的开始:访问每个过程的隔离文件。所以 chroot 可视为容器。
技术的鼻祖。

😇2000 年 FreeBSD 4.0 发行 FreeBSD Jail。

前言。

2000 年,当时,一家小型共享环境托管提供商提出 FreeBSD Jail,实现其服务与其客户服务的明确分离,为了实现安全和易于管理。每个 Jail 它们都是在主机上运行的虚拟环境,有自己的文件、流程、用户和超级用户账户,可以为每个系统分配IP 地址。

FreeBSD Jail 不仅仅有 chroot 文件系统隔离,并扩展了独立性。过程和网络空间。

😇2001 年 Linux VServer 发行。

💐与 FreeBSD Jails 同样,Linux VServer #xff0是一种监狱机制c;计算机系统上的资源是可用的。
(文件系统,网络地址,内存)进行分区。

😇2004 年 Solaris Containers 发行。

2004 年, Solaris Containers 第一个公开测试版发布,结合系统资源控制和区域进入。
行隔离,并增加了快照和克隆能力。

这一时期的进程隔离技术多为 Jail 核心࿰模式c;过程相关资源的隔离操作基本实现,应用场景开发没有更大的限制。

😇云时代。

2006 年,Google 101 计划提出云。概念,对当前主流发展模式产生深远影响。也许我们将来会考虑更多,如果出现比现在多的话 1000 倍, 10000 当数据量翻倍时,我们该怎么办?要想让“云”发挥潜力󿀌与此相关的编程和操作应该和使用互联网一样简单。随后,亚马逊、IBM 其他行业巨头也宣布了自己的“云”计划,宣告“云”技术时代的到来。

云计算需要处理诸如海量数据、超高并发、快速扩展等问题,此时不仅需要隔离,还需要能够控制和调配资源。

😇2006 年 google 推出 Process Containers。

提示。

Process Containers(由 Google 于 2006 #xff09年推出￰它旨在限制、统计和隔离一组过程。资源使用。(CPU、内存、磁盘 I/O、网络)。一年后,它更名为“Control Groups (cgroups)",并最终合并 Linux 内核 2.6.24。

😇2008 年 LXC 推出。

LXC(Linux 容器)是 Linux 第一个、最完整的实现容器管理器。它是在 2008 年使。
用。 cgroups。和。 Linux 命名空间。࿰的实现c;它可以是单一的 Linux 内核运行�没有任何需要。
补丁。

谷歌同年推出 GAE(Google App Engine),首次将开发平台视为提供࿰的服务c;采。
使用云计算技术󿀌虚拟化应用程序跨越多个服务器和数据中心。

同时 Google 在 GAE 中使用了 Borg (Kubernetes 前身)安排和调度容器。
LXC 和 Borg 其实相当于最早的 docker 和 k8s.。

😇2011 年 CloudFoundry 推出 Warden。

⭐2011 年启动了 Warden,早期使用 LXC,后来用自己的实现代替,直接对待 Cgroups 以及 Linux Namespace 操作。开发了一个。客户端-服务器模型。管理跨主机的容器。
集合,而且可以管理 cgroups、命名空间和过程生命周期。

😇2013 年 LMCTFY 启动。

概要。

🌕Let Me Contain That For You (LMCTFY) 于 2013 年作为 Google 容器堆栈的开源版启动,提供 Linux 应用程序容器。应用程序可以“容器感知”,创造和管理自己的东西。子容器。。谷歌开始和 docker 合作,后续转向了 docker 公司的 libcontainer,LMCTFY 的于 2015 年停止。

😇2013 年 Docker 推出到风靡全球。

Docker 一开始是一个叫做 dotCloud 的 PaaS 服务公司内部项目,后来公司改名为Docker。Docker 在初期与 Warden 类似,使用的也是 LXC,然后开始自己开发。 libcontainer 来替代 LXC,它是将应用程序及其依赖性打包到几乎可以在任何服务器上运行的容器中的工具。与其他只做容器的项目不同,,Docker 引入了一整套管理容器的生态系统,这包括高效、分层的容器镜像模型、全局和本地的容器注册库、清晰度 REST API、命令等等。

Docker 一开始是一个叫做 dotCloud 的 PaaS 服务公司内部项目,后来公司改名为 Docker。Docker 在初期与 Warden 类似,使用的也是 LXC,之后,我开始自己开发 的 libcontainer 来替代 LXC,它是将应用程序及其依赖性打包到几乎可以在任何服务器上使用 容器工具的上部操作。与其他只做容器的项目不同,,Docker 引入了一套完整的管理容 生态系统,这包括高效、分层的容器镜像模型、全局和本地的容器注册库 的 REST API、命令等等。

😇云原生时代。

😇Google &Docker 竞争。

😇2013 年 CoreOS 发布和 Docker 合作终止。

🌞技术革命带来了新的市场机遇,CoreOS 也是其中之一,标签࿱贴在容器生态系统上a;专为容器设计的操作系统 CoreOS。作为互Coreos+Docker 曾经是容器部署的灵魂伴侣。CoreOS 为 Docker 源代码社区的推广和推广做出了巨大贡献。

Docker 生态扩张。,不同于最初的“简单的基本单元”,Docker 容器云平台的各种组件࿰也在通过开发或收购逐步完善c;准备建立自己的生态系统,而这与 CoreOS 布局有直接竞争关系。

😇2014 年 6 月 Google 发布开源容器编排引擎 Kubernetes(K8S)

容器只解决容器化,分发问题󿀌但是软件。网络问题、负载平衡问题、监控、部署、更新、镜像管理、发布等诸多问题。没有有效的解决方案。

Google 内部调度系统 Borg 已经拥有 10 多年的容器使用经验,在 2014 年 6 月推出了。
开源的 K8S,可支持集装箱的安排和管理,完成生态闭环。

同年 7 月,微软、Red Hat、IBM、Docker、CoreOS、 Mesosphere 和 Saltstack 等待公司,相继加入 K8S。一年内,VMware、HP、Intel 等待公司,也陆续加入。

🤣本文小结。

今天的分享到此结束,我爱你的M malloc希望能对你有所帮助,哦,最后,别忘了三连!!

在这里插入图片描述

2025-06-24 11:16:20

相关新闻

清华大学新闻中心版权所有,清华大学新闻网编辑部维护,电子信箱: news@tsinghua.edu.cn
Copyright 2001-2020 news.tsinghua.edu.cn. All rights reserved.