01 Docker的发展过程
2017-03-28 本文已影响306人
被子十三
1.容器和Docker
-
容器:在linux中,容器技术是一种进程隔离的技术,应用可以运行在每个相互隔离的容器中。
容器与虚拟机的区别:在容器中,各个应用共用一个kernel。 - Docker:Docker是一家公司,在13年之前公司名叫 dotCloud,Docker仅仅是一个容器管理的产品。在13年,将Docker开源,Docker风靡全球,公司也更名为Docker。
2.容器技术的演进
1979年,有了容器技术的雏形,chroot技术的引进开启了进程隔离技术
2000年,FreeBSD Jails将计算机分为多个独立的小型计算系统。
2006年,谷歌 Process Containers技术,在进程隔离的基础上,进行了计算资源的限制
2018年,LXC,作为第一个完整的容器管理工具
2013年,LMCTFY实现了linux应用程序的程序化,成为libcontainer的重要组成部分。
2013年,Docker最初使用的是LXC,后来被替换成libcontainer
3. Docker技术的迅猛发展
Google Trend在开源之后迎来迅猛的发展,在现在也保持着迅猛的发展势头
4. Docker技术发展迅猛的原因总结:
-
应用架构正在发生变革---微服务化
在互联网时代,为了实现更快的开发迭代和更好的弹性伸缩,互联网应用不再采用传统的3层架构,而是采用微服务的方式。以此实现软件系统的松耦合,跨部门开发和快速交互的目的。 -
基础架构系统也在发生变革---虚拟化、混合云
从硬件服务器到虚拟机到企业私有云,从本地数据中心到栽培数据中心再到公有云。
硬件架构的颗粒化,底层系统的复杂化,给应用的开发、测试、发布、运维带来了极大的挑战。
应用服务器数量成倍增长,环境的交付速度要求也越来越高,应用迁移越来越频繁,应用所需的动态伸缩、永远可用的期望,运维传统的基础架构平台已经跟不上互联网的步伐。
5.他山之石,可以攻玉【容器技术的作用】
类比集装箱的发明:各种货物可以通过集装箱装运。集装箱改变了整个运输环境,大大降低了运输成本。
将应用的各种组件封装起来。一次封装,多次部署,随时迁移,不需要关注底层环境
6.Docker定义的标准+服务应用
-
基础设施标准化(Docker Engine):所有的Linxu系统都支持Docker
Engine。有了Docker Engine,可将Docker容器跑起来。 - 应用交付的标准化(Docker Image):提供了一套应用快速打包为轻量级Docker Image的方法。开发人员在代码完成之后,可以将其打包为镜像;
- 运维管理的标准化(Docker container):运维人员不在需要将应用准备系统、运行环境、组件和基础软件包,容器时代,应用都运行在一个个的Docker container中。标准运维将关注容器,而不是复杂的系统环境。
- 分发部署标准化(Docker Registry):指的是容器化之后不同版本的应用镜像都存储在镜像仓库中。运维人员可以讲镜像仓库中特定版本的镜像一次部署到开发环境、测试环境和生产环境中,可以实现应用版本的快速升级或回退。