Docker发家史,诠释我要打十个

简介: 微软曾经以天价收购 Docker,接受微软的天价收购,在大多数人看来都是一个非常明智和实际的选择。可是 Solomon Hykes 却多少带有一些理想主义的影子,不甘于“寄人篱下”,选择带领 Docker 公司对抗整个产业的压力。

我现在有一大批物理服务器,想要租借给别人使用,因此我搭建了一个物理集群,并向用户售卖,这就是 IaaS(基础设施即服务 Infrastructure as a Service)。

用户通过购买我的物理服务器,物理服务器上运行着我的虚拟机,用户在虚拟机上部署自己的应用。不过在使用过程中发现:

  • 本地开发环境与购买的虚拟机之间环境不同,导致调试、部署困难
  • 不同的应用可能在同一台虚拟机上,没有隔离
  • 大规模的应用部署也比较麻烦。

为了解决上面的问题,出现了 PaaS(平台即服务 Platform as a service),例如 Cloud Foundry(云计算),它提供了:

  • 大规模应用部署能力
  • 提供了“沙盒”容器来隔离应用,让用户进程互不干扰

但是在使用过程中,用户发现“沙盒”用起来并不方便,打包过程还是一样很痛苦,需要用户来让本地应用于远端 PaaS 适配,此时出现了小鲸鱼 Docker。

没用的冷知识:
Docker 项目在 2016 年已经改名为 Moby,Docker 仅仅是公司名称。
1aaf6623715f412eb2d5d12f07bd6b9e~tplv-k3u1fbpfcp-watermark.image?

Docker 提出了镜像的概念,通过镜像实现本地环境与远端环境高度一致,解决了打包困难的问题,取代了 Cloud Foundry 这类 PaaS 项目中的“沙盒”,至此,Docker 开始崭露头角。

随着 Docker 被大范围使用,PaaS 的定义正逐渐变为一套以 Docker 容器技术为核心,全新的“容器化”思路。2014 年,Docker 公司也顺势发布了自己的 PaaS 项目 Swarm。

Swarm 项目的集群管理功能触碰了其他公司的利益分配,因此 CoreOS 推出了自己的 rkt 容器、Mesos 发布了 Marathon 与 Swarm 竞争、Google 公司宣告 Kubernetes 诞生。

没用的冷知识:
CoreOS 曾是 Docker 项目开源后最积极、活跃的贡献者。

Docker 公司为完善平台能力,收购了第一个提出“容器编排”概念的项目 Fig,并更名为 Compose。“容器编排”正式进入用户视野。

Docker 公司有了 Docker,Swarm,Compose 三张牌后,在容器生态具有很大的优势和发言权。为了竞争,Google、Redhat 等基础设施领域的玩家们成立了 CNCF(Cloud Native Computing Foundation)基金会,开始围绕 Kubernetes 打造生态。Kubernetes 很快将 Swarm 项目远远的甩在身后。

Docker 为了与 Kubernetes 竞争“容器编排”领域,Docker 公司甚至放弃了 Swarm 项目,但最终未能打败 Kubernetes,因为 Kubernetes 是 Google 内部沉淀多年的项目,包含了许多超前的设计,与 Docker 已不在一个出发点。

在 2017 年,Docer 在自己的主打产品 Docker 企业版中内置 Kubernetes 项目,这标志着“编排之争”落下帷幕。容器化社区以 Kuberentes 为核心愈加繁荣。

没用的冷知识:
微软曾经以天价收购 Docker,接受微软的天价收购,在大多数人看来都是一个非常明智和实际的选择。可是 Solomon Hykes 却多少带有一些理想主义的影子,不甘于“寄人篱下”,选择带领 Docker 公司对抗整个产业的压力。
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1月前
|
数据可视化 Ubuntu Linux
|
6月前
|
监控 Linux 虚拟化
【经典问题】Docker是怎么工作的?
【1月更文挑战第26天】【经典问题】Docker是怎么工作的?
|
运维 Kubernetes 负载均衡
Docker不香吗?为什么还要用k8s
Docker不香吗?为什么还要用k8s
Docker不香吗?为什么还要用k8s
|
关系型数据库 MySQL 应用服务中间件
浅谈docker&小试牛刀
浅谈docker&小试牛刀
72 0
|
关系型数据库 MySQL Java
学习Docker,有这一篇就够啦!2
学习Docker,有这一篇就够啦!
|
NoSQL 关系型数据库 MySQL
学习Docker,有这一篇就够啦! 1
学习Docker,有这一篇就够啦!
|
运维 监控 应用服务中间件
Docker小白的福音:50条Docker命令清单,干就完了!
Docker可以让开发人员、运维人员更容易使用容器创建、部署和运行应用程序。掌握一些必备的Docker命令对于使用Docker的工程师非常重要,那么今天笔者给大家整理了一份Docker的命令备忘单,希望大家可以好好保存,在使用的时候可以拿出来查阅使用。
495 1
Docker小白的福音:50条Docker命令清单,干就完了!
|
存储 关系型数据库 Docker
怎么搭建 Docker私仓?可惜很多人不知道
怎么搭建 Docker私仓?可惜很多人不知道
169 0
怎么搭建 Docker私仓?可惜很多人不知道
|
数据采集 Linux Docker
2300+字!在不同系统上安装Docker!看这一篇文章就够了
辰哥准备出一期在Docker跑Python项目的技术文,比如在Docker跑Django或者Flask的网站、跑爬虫程序等等。
325 0
2300+字!在不同系统上安装Docker!看这一篇文章就够了
|
存储 运维 Ubuntu
💖5分钟带你跑一跑Docker💖Docker系列入门教程
 虚拟化(英语:Virtualization)是一种计算机资源管理技术,是将计算机的各种硬件资源,比如服务器、网络、CPU、内存及存储等,予以抽象和转换后呈现出一套新的硬件资源环境,在这一套新的硬件环境下可以安装我们的操作系统,部署我们的应用运行环境等,它打破计算机硬件资源不可切割的障碍,使我们可以比原本的计算机硬件资源结构更好的方式来组合应用这些资源。
338 0
💖5分钟带你跑一跑Docker💖Docker系列入门教程