Docker

时间:2023-02-19 17:57:48

一、背景

Docker

二、Docker简介

Docker

1、定义

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上。
Docker是一种容器虚拟化技术,上图小海豚上的小箱子,就像是将开发包,环境,中间件,配置等等都放进去,放到docker里面运行,放进去的时候是什么,运行的时候就是什么。

2、虚拟机与容器的区别

1、虚拟机简介

Docker

虚拟机就是带环境安装的一种解决方案。
它可以在一种操作系统里面运行另一种操作系统,比如在windows系统里运行Linux系统CentOS7。
应用程序对此毫无感知,因为虚拟机看上去和真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通的文件,不需要了就删掉,对其他部分毫无影响。
这类虚拟机完美的运行了另一套系统,能够使应用程序,操作系统和硬件三者之间的逻辑不变。
传统虚拟机(VMWare)是安装在主操作系统上的,创建虚拟机,在虚拟机上面安装从操作系统(CentOS7),之后在从操作系统中安装部署各种应用。
2、虚拟机缺点
资源占用多 (ISO镜像文件大)
冗余步骤多
启动慢
3、容器简介

Docker

由于前面虚拟机存在某些缺点,Linux发展出了另一种虚拟化技术:Linux容器。
Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需要的全部文件。容器提供的镜像包含了应用所需要的所有依赖,从而在从开发到测试再到生产,它都具有可移植性和一致性。
Linux不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需要的所有资源打包到一个隔离的容器中。
容器与虚拟机不同,,不需要捆绑一整套操作系统,只需要软件工作所需要的资源库和设置。系统因此而变得高效、轻量并保证部署在任何环境中的软件都能始终如一的运行。

4、容器的优点

Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统的虚拟机则是在硬件层面实现虚拟化。与传统的虚拟机相比,Docker优势体现为启动速度快,占用体积小。

5、虚拟机与容器的比较

Docker

传统虚拟机:
传统虚拟机技术是虚拟出一套硬件之后,在虚拟出来的硬件上运行一个完整的操作系统,在此操作系统上再运行所需要的应用程序
容器:
容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟。因此容器要比传统虚拟机更轻便。
每个容器之间相互隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。