关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

Docker容器和虚拟机

发布时间:2021-02-04 15:25:52

Docker解决的问题:

由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环境配置操作。

 

Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主操作系统和其它隔离的进程。使用 Docker 可以不修改应用程序代码,不需要开发人员学习特定环境下的技术,就能够将现有的应用程序部署在其它机器上。

 image.png

与虚拟机的比较:

虚拟机也是一种虚拟化技术,它与 Docker 最大的区别在于它是通过模拟硬件,并在硬件上安装操作系统来实现。

 image.png

启动速度

启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢;

 

而启动 Docker 相当于启动宿主操作系统上的一个进程。

 

占用资源

虚拟机是一个完整的操作系统,需要占用大量的磁盘、内存和 CPU 资源,一台机器只能开启几十个的虚拟机。

 

而 Docker 只是一个进程,只需要将应用以及相关的组件打包,在运行时占用很少的资源,一台机器可以开启成千上万个 Docker。

 

镜像与容器:

镜像是一种静态的结构,可以看成面向对象里面的类,而容器是镜像的一个实例。

 

镜像包含着容器运行时所需要的代码以及其它组件,它是一种分层结构,每一层都是只读的(read-only layers)。构建镜像时,会一层一层构建,前一层是后一层的基础。镜像的这种分层存储结构很适合镜像的复用以及定制。

 

构建容器时,通过在镜像的基础上添加一个可写层(writable layer),用来保存着容器运行过程中的修改。



/template/Home/Zkeys/PC/Static
翔云网络帮助中心