docker概述
docker为什么会诞生?
每个企业的每个开发部门都会有多种生产环境,对于多套的生产环境,传统的方式是,重复的配置多台服务器,如果需要三套生产环境,也就意味着人工配置多套生产环境,这样做会产生大量重复性的工作量,效率不高,同时由于每套系统应用的服务器不同,系统环境不一致,可能会导致在A生产环境中能跑通的程序在B中不行。
docker的出现可以完美的解决重复性的配置工作,以及系统环境不一致的问题

docker是什么?
docker是一种容器技术,也是一种新的虚拟化技术,容器字面的意思就是盛放物品的容器,用于将物品与外界环境隔离开来,容器技术,也是同样,通俗一点的解释是在计算机中开辟一块或多块空间,用于运行不同的程序,这些程序之间互不影响,而且各自独立,即使一块空间消失,也不会影响其他空间的运行。docker是运用容器技术开发的一款软件,他的核心思想源自集装箱
docker的架构?

docker是CS架构,也就是客户端与服务端的架构,其组成结构:
client端:命令行终端、API
server端:宿主机、daemon进程、images、container
宿主机:有docker守护进行(daemon)的设备就是宿主机
images:镜像就是应用程序与它所依赖的环境的打包,本质上就是一个配置文件。一个image可以生成多个container
container:container是通过images生成的,通过同一个image产生的container,内部配置完全相同(这就是为什么docker可以解决系统环境不一致的问题,以及解决大量重复性配置工作的问题)
docker与传统虚拟化技术的比较
传统虚拟化技术:比如我们经常使用的VMware软件,它是直接虚拟出了一套硬件设备,并在虚拟出的这套硬件设备上装一个操作系统,在这个操作系统上运行程序,所以他的优势是独立性更强,从硬件到操作系统都是独立的,缺点在于他耗费资源,虚拟出一套硬件设备,以及装载操作系统,本身占用的资源就很多,所以一台虚拟机的至少要占用几个G的资源,同时你想使用它运行程序,首先要启动操作系统,冗余的步骤太多,启动时间也要几分钟,一台服务器所能产生的虚拟机可能只有几台

docker:docker基于内核的虚拟化技术,没有自己独立的硬件以及操作系统,依赖于宿主机的内核,核心技术是Linux内核的namespace与CGroups,namesapce用于划分命名空间,cgroups用于限制资源,同时有自己独立的文件系统,通过以上三种技术,docker可以在不虚拟出硬件以及操作系统的情况下,实现应用程序之间的相互隔离,它的优势在于它非常轻量级,占用的资源很少,秒级启动,一台服务器可以启动几十以上的容器,缺点在于docker对运行环境是由要求的本质上只能依赖于Linux系统运行。

docker的应用
devops(开发与运维):
更简单的交付与部署
更快速的升级与扩缩容
更简单的系统运维
更高效的计算机资源利用
                    
                
                
            
        
浙公网安备 33010602011771号