一.Docker简介
1.1 什么是docker
首先docker 是一个开源的“容器级”的虚拟化技术 。
1.2 什么是“容器级”的虚拟化技术
说到容器级虚拟化技术 必须要先说到“LXC” “LXC”是老牌的容器级虚拟化技术 是由ibm公司研发的 而docker 是在“LXC”的基础上。容器级 可以理解为 linux系统是一个大箱子 而docker就是大箱子里面的小箱子,在大箱子linux内运行 但跟大箱子隔绝。就像在windos 里面运行的沙盒的道理是一样的。Docker基于系统之上,但独立系统。
1.3 docker的目标
Docker的项目的目的就是实现轻量级的操作系统虚拟化解决方案,消耗资源小。
1.4 为什么要使用docker docker为什么这么火
作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。
首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。 其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。
容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。
具体说来,Docker 在如下几个方面具有较大的优势。
对开发和运维人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。
开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。
Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。
Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。
使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。
1.5 docker的使用场景
Docker的使用的场景,现有服务器的资源占用比率比较小,例如(单纯的web服务器,可以把几台docker容器 做成负载均衡,故障转移集群)。不适用于,现有服务器占有资源比较大的服务 例如(hpc集群,大型数据库orcle)
顺便说一句 不是所有的服务都适合迁移到虚拟化的平台,得根据服务占用服务器资源的大小。
1.6 docker的优点缺点
优点:占用系统资源小 启动的速度快 占用系统硬盘小 快速生成“模版”根据模版快速生成多个“容器” 在性能上 接近于原声系统,docker是开源的 很多企业都支持 扶持docker 例如 redhat openstart 等,可快速迁移,快速部署等 高效的运行。
缺点: 现在最新的docker的版本是1.6 相对于老牌的虚拟化软件来说 ,docker的技术相对不成熟,docker还是有一定的bug 用户相对较少,文档较少,没有售后的支持。
参考文档 《docker技术入门与实战》,和本人的观点和对于docker的看法
QQ:786376668,4309617
作者:小鹏
欢迎大家跟我一起学习docker
本文出自 “linux” 博客,请务必保留此出处http://3927416.blog.51cto.com/3917416/1638955
原文地址:http://3927416.blog.51cto.com/3917416/1638955