docker学习第一节:docker介绍
一、虚拟化技术背景
虚拟化技术由来已久,各个操作系统均已实现了基础技术。Linux上cgroup,namespace是虚拟化技术的基础。
目前,市面上有几款比较流行强大的虚拟化引擎,比如商业化的vmware,免费的virtualbox。它并不是一项新技术,但为什么能够在2013年后,docker虚拟技术如燎原之势,逐渐进入大众的视野,并受到广大开发者的青睐呢?
二、docker的优势在哪
现在用docker和vmware这类虚拟机做下比较,可以在本机进行安装操作体验区别。
对比如下:
1.docker启动快速属于秒级别,虚拟机通常需要几分钟去启动;
2.docker需要的资源更少,docker在操作系统级别进行虚拟化,docker容器和内核交互,几乎没有性能损耗;
3.docker更轻量,docker的架构可以共用一个内核与共享应用程序库,所占内存极小。同样的硬件环境,Docker运行的镜像数远多于虚拟机数量。对系统的利用率非常高,通常一个主机的虚拟机能虚拟十几个操作系统环境,而docker能达到上千个;
4.交付、部署:虚拟机可以通过镜像实现环境交付的一致性;Docker在Dockerfile中记录了容器构建过程,可在集群中实现快速分发和快速部署,这个是保证测试环境和正式环境一致,交付部署更便捷;
但docker也有虚拟机没有的特点,相对来说弱势的一点:
与虚拟机相比,docker隔离性更弱,docker属于进程之间的隔离,虚拟机可实现系统级别隔离,docker安全性也就更弱。
三、docker和虚拟机结构
vm虚拟机
docker
从图1结构看出,虚拟机可以虚拟出多个操作系统,每个操作系统应用对立,而图2中,docker应用A,B共用一个主机系统,在一个docker引擎上工作。
以上仅作为简单介绍,具体结构参考官网:https://www.docker.com/
追梦人