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搭建和管理企业级网站应用
目录
相关文章
|
4月前
|
NoSQL Redis Docker
【从零开始】Docker Desktop:听说你小子要玩我
本文旨在帮助读者重新掌握Docker知识,特别是在Windows 10环境下安装与使用Docker Desktop的过程。文章详细介绍了从下载安装到配置镜像源的具体步骤,并通过Redis实例演示了如何拉取镜像和启动容器。
1993 0
【从零开始】Docker Desktop:听说你小子要玩我
|
2月前
|
数据可视化 Ubuntu Linux
Docker操作相关思考题
Docker操作 (七)
45 0
|
关系型数据库 MySQL 应用服务中间件
浅谈docker&小试牛刀
浅谈docker&小试牛刀
73 0
|
存储 运维 Java
不认识docker,怎么好意思说自己是干IT的
不认识docker,怎么好意思说自己是干IT的
98 0
|
关系型数据库 MySQL Java
学习Docker,有这一篇就够啦!2
学习Docker,有这一篇就够啦!
|
NoSQL 关系型数据库 MySQL
学习Docker,有这一篇就够啦! 1
学习Docker,有这一篇就够啦!
|
存储 NoSQL 安全
让我们稍微深入理解一下 docker 的技术概念(2)
让我们稍微深入理解一下 docker 的技术概念(2)
让我们稍微深入理解一下 docker 的技术概念(2)
|
存储 安全 Linux
让我们稍微深入理解一下 docker 的技术概念(1)
让我们稍微深入理解一下 docker 的技术概念(1)
让我们稍微深入理解一下 docker 的技术概念(1)
|
运维 监控 应用服务中间件
Docker小白的福音:50条Docker命令清单,干就完了!
Docker可以让开发人员、运维人员更容易使用容器创建、部署和运行应用程序。掌握一些必备的Docker命令对于使用Docker的工程师非常重要,那么今天笔者给大家整理了一份Docker的命令备忘单,希望大家可以好好保存,在使用的时候可以拿出来查阅使用。
497 1
Docker小白的福音:50条Docker命令清单,干就完了!