概念
·Docker是一个开源的应用容器引擎
·诞生于2013年初,基于go语言实现,dotCloud公司出品(后改名Docker inc)
·Docker可以让开发者打包他们自己的依赖包到一个轻量级,可移植的容器中,然后发布到任何流行的linux机器上。
·容器是完全使用沙箱机制,相互隔离的。
·容器开销极低
·Docker从17.03之后分为了CE(Community Edition:社区版)和EE(Enterprise Edition企业版)
容器技术,解决软件跨环境迁移的问题
1.1引言
1.代码本地运行没有问题。
即环境不一致的问题
2.那个哥们儿又写死循环了,怎么这么卡。
在多用户操作系统下,会相互影响。
3.淘宝在双11的时候,用户量暴增。
运维成本过高的问题。
4.学习一门技术,学习安装成本过高。
安装软件成本过高。
1.2Docker的由来
一帮年轻人,创办一家公司,2010年的专门做PAAS平台
到了2013年的时候,像亚马逊,微软,Google都开始做PAAS平台。
2013年,将公司内的核心技术对外开源。,核心技术就是docker。
到2014年的时候,得到了c轮融资,$4000w美元
到2015年的时候,得到了D轮融资,$9000w美元
全神贯注维护Docker
所罗门(主要作者之一)
所罗门后来离开了docker的维护团队
1.4Docker的思想
1.集装箱
会将所有需要的内容放到不同的集装箱中,谁需要这些环境就直接拿到这个集装箱就可以了。
2.标准化
1.运输的标准化:Docker有一个码头,所有上传的集装箱都放在了这个码头上,当谁需要某一个环境,就直接指派大海豚去
搬运这个集装箱就可以了。
2.命令的标准化:Docker提供了系列的命令,帮助我们去获取集装箱等等操作。
3.提供了REST的API,衍生出了很多的图形化界面,Rancher。
3.隔离性
Docker在运行集装箱内的内容是,会在linux的内核中,单独的开辟一片空间,这片空间不会影响到其他程序。
*注册中心。(超级码头,上面放的就是集装箱)
*镜像(集装箱)
*容器(运行起来的镜像)