Docker的降维打击是怎么利用天时地利人和的?看这一篇就够了

  • 容器的诞生
    • 容器技术的奠基
    • 容器生态的奠基
    • docker的出现
    • 什么是容器
      • 集装箱
      • 容器
      • 容器编排

容器的诞生

容器技术的奠基

2000:FreeBSD 4.0(Unix)
Jail:加强和改进了用于文件系统隔离的chroot环境
(chroot就是change root,也就是改变程式(应用)执行时所参考的根目录位置

2004:Solaris 10(Unix) --Sun
Zones:实现了命名空间隔离和安全访问控制
Resource management:实现了资源分配控制

2007:Kernel 2.6.24(Linux)
Control Groups(简称cgroups)进入Linux内核,
可以限定/隔离一组进程所使用的资源(包括CPU、内存、I/O和网络等)

附加一些历史节点:
2007:第一代Iphone发布
2008.1.16:Sun宣布10亿美元收购Mysql
2009.04.20:Oracle收购Sun,同年阿里云诞生

容器生态的奠基

2008:云服务的发展初期
2008年云计算发展初期,主流用户的普遍用法,就是租一批 AWS 或者 OpenStack 的虚拟机,然后像以前管理物理服务器那样,用脚本或者手工的方式在这些机器上部署应用。

手工部署,效率低


2011:Cloud Foundry—“Paas时代要来了”
Cloud Foundry 项目吸引了包括百度、京东、华为、IBM 等一大批国内外技术厂商,其最核心的组件就是一套应用的打包和分发机制;且由于每种语言的差异,它为每种主流编程语言都定义了一种打包格式,然后调用操作系统的 Cgroups 和 Namespace 机制为每一个应用单独创建一个称作“沙盒”的隔离环境,然后在“沙盒”中启动这些应用进程

开发语言多样,部署复杂


PaaS 之所以能够帮助用户大规模部署应用到集群里,是因为它提供了一套应用打包的功能。可偏偏就是这个打包功能,却成了 PaaS 日后不断遭到用户诟病的一个“软肋”。

docker的出现

2013:dotCloud宣布开源docker(加州)

dotCloud 的创始人兼首席执行官 Solomon Hvkes 在一场仅五分钟的微型演讲中,首次提出了 Docker 这一概念。

与Cloud Foundry项目最大的不同是docker引入了image这个打包机制,这个打包机制直接打包了应用运行所需要的整个操作系统,从而保证了本地环境和云端环境的高度一致,避免了用户通过“试错”来匹配两种不同运行环境之间差异的痛苦过程。

什么是容器

集装箱

货运的标准化结构和规格,不仅能提高集装箱作为共同运输单元在海、陆、空运输中的通用性和互换性,而且能够提高集装箱运输的安全性和经济性,促进国际集装箱多式联运的发展。
–[百度百科中的定义]

容器

对应到docker容器上

标准化结构和规格:应用运行的所有环境依赖的镜像

海、陆、空:开发/生产、私有云/公有云兼容

“安全性”和经济性:资源隔离和资源限制

容器编排

单机容器编排–fig(被收购后改名为compose)

单体应用在信息爆发的当下是无法支持大量请求,一个系统的正常运作往往需要多个应用相互依赖地运作,所以fig是容器在单机容器编排上的最佳体现。

K8s、Swarm—集群容器编排

2014:Google和Docker公司相继发布自家的容器编排项目

Docker的降维打击是怎么利用天时地利人和的?看这一篇就够了相关推荐

  1. docker 删除所有镜像_关于 Docker 镜像的操作,看完这篇就够啦 !(下)| 文末福利...

    紧接着上篇<关于 Docker 镜像的操作,看完这篇就够啦 !(上)>,奉上下篇 !!! 镜像作为 Docker 三大核心概念中最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌 ...

  2. Docker 入门看这一篇就够了,万字详解!

    容器简介 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件. 容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试 ...

  3. docker入门,看这一篇就够啦

    简介 Docker是一个开源的应用容器引擎,通过容器可以隔离应用程序的运行时环境(程序运行时依赖的各种库和配置),比虚拟机更轻量(虚拟机在操作系统层面进行隔离).docker的另一个优点就是build ...

  4. Docker Volume 看这一篇就够了

    Docker Volume 文章目录 Docker Volume 1. 简介 2. 原理 3. 命令 4. 应用 4.1 目录 bind mount 4.2 隐式创建 Docker volume 4. ...

  5. Docker 入门看这一篇就够了!

    原文:cnblogs.com/clsn/p/8410309.html 作者:惨绿少年 1 容器简介 1.1 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行 ...

  6. docker 镜像修改的配置文件自动还原_Docker 基础与实战,看这一篇就够了

    作者 |  单一色调责编 | ElleDocker 基础 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,names ...

  7. docker compose 停止_Docker-Compose 基础与实战,看这一篇就够啦

    作者 | 飘渺Jam 责编 | 屠敏 出品 | CSDN 博客 what & why Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排.使用前 ...

  8. 【Linux】Docker 基础与实战,看这一篇就够了

    Docker 基础 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Uni ...

  9. Docker 基础与实战,看这一篇就够了

    作者 |  单一色调 责编 | Elle Docker 基础 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,nam ...

最新文章

  1. Oracle OFA目录结构
  2. xenapp5 负载均衡配置
  3. spring cloud nacos_SpringCloud Alibaba系列之Nacos配置中心玩法
  4. mysql测试表格的年龄的语句是_MySQL查询语句练习题
  5. 剑指offer--不用加减乘除做加法
  6. 我是一个*** (三)
  7. 我想成为计算机专业第一,我对计算机专业学生的忠告。
  8. java中有ClockPane类吗_Java程序设计教程 冶金工业出版社第9章
  9. Jmeter系列之常用组件(一)
  10. Python菜鸟入门:day17编程学习
  11. eclipse.ini配置eclipse的启动参数
  12. MATLAB基础数组操作及循环语句语法简介
  13. 点击area不出现黑框_一切小黑屋,都能被黑框玻璃门治愈 | 附安装法则
  14. 内部比较器:Comparable的定义使用
  15. Java 正则表达式,正则表达式匹配a标签下的链接,正则表达式基础
  16. H3C无线终端准入流程
  17. UML (统一建模语言) 各种图总结
  18. android文件地址,Android文件夹在哪
  19. C++ Primer Plus学习(十三)——代码重用(has-a)
  20. html 中长单词换行问题

热门文章

  1. 外部中断----高低电平触发,(边沿触发)上升沿触发和下降沿触发区别
  2. 文献关联分析图谱——connected papers网站
  3. 【USACO 2020 January Silver】Loan Repayment 题解
  4. python实现简单的神经网络,python的神经网络编程
  5. 如何使用卷积神经网络进行图像处理?
  6. 青春期玩游戏不想上学怎么办?
  7. INI文件解析、遍历
  8. 函数设计中参数的规则
  9. HP收购3com给网络世界带来的变化
  10. git fatal: detected dubious ownership in repository