(一)docker简介
1.什么是docker
docker是一种虚拟化方案,是操作系统级别的虚拟化,它只能运行在相同或相似内核的操作系统,依赖于linux的Namespace和Cgroups(control groups)。docker是一个能把应用程序自动部署到容器的开源引擎,docker使用go语言编写。docker的特别之处在于docker在虚拟化的容器执行环境中,增加了一个应用程序部署引擎,此引擎的目标就是提供一个轻量、快速的环境,能够运行开发者程序,并方便高效地将程序从开发者环境部署到测试环境,然后再部署到生产环境
2.容器技术的优点
从上图看,一个显而易见的有点就是容器占用的磁盘空间相比虚拟机是小太多的,如果使用虚拟机去部署应用,不但要包含应用和依赖库,而且还需要包含完整的操作系统,本来应用可能不会很大,但是却要包含几GB大小的操作系统。而容器只需要包含应用和依赖的库,资源开销是减少很多的。此外,虚拟机需要模拟硬件的行为,对内存和cpu的损耗也是相当大的,故同样配置的服务器,使用容器技术要比使用虚拟机提供更多的服务能力,服务更多的用户。
3.docker能做什么
1.我们可以使用docker容器开发、测试和部署服务
2.创建隔离的运行环境
在很多企业应用中,同一服务的不同版本可能服务于不同的用户,使用docker可以非常容易创建不同的生产环境来运行不同的服务。
3.搭建测试环境
由于docker的轻量化,所以开发者很容易利用docker在本地搭建测试环境,用来测试程序在不同系统下的兼容性,甚至是搭建集群部署的测试。
4.构建多用户的平台即服务(paas)基础设施
5.提供软件即服务(saas)应用程序