1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > docker容器与虚拟机有什么区别 – 数据库 – 前端

docker容器与虚拟机有什么区别 – 数据库 – 前端

时间:2021-03-07 02:05:28

相关推荐

docker容器与虚拟机有什么区别 – 数据库 – 前端

大家单位最近在推docker,已经在开发测试环境使用(稍显落后),下面偶就谈谈自己的Docker的理解,以及Docker和虚拟机的区别。

虚拟机

先说说什么是虚拟机:在一台物理机器上,利用虚拟化技术,虚拟出来多个操作系统,每个操作系统之间是隔离的。

说起来有些绕,那么大家看看虚拟机的架构图,就容易理解了。例如大家要在一台物理机器运行三个Java项目,彼此之间隔离。

从下往上看,解释起来其实很简单:

最下面的一层就是物理机,可以是服务器,设置是一台个人电脑;

电脑上需要安装操作系统,比如大家安装了win10的操作系统;

再往上就是虚拟机软件了,比如大家常用的VirtualBox、VMWare,它们的作用是模拟计算机硬件;

继续向上,就是虚拟机模拟出来的操作系统了;

在虚拟的操作系统中,安装所需的软件、组件等。比如大家需要在虚拟操作系统中安装JDK、Tomcat等;

最后就是具体的应用了,例如部署到Tomcat中。

Docker

再说说什么是Docker,找了一句官方的解释:Docker是开源的应用容器引擎。是不是又一头雾水?大家还是先看看Docker的架构图。

依然从下往上看:

最下面两层,概念同上。

往上,可以看做Docker容器的管理器。

依赖和应用都被打包成了Docker镜像。例如,JDK、Tomcat、应用都被打包在了一起,运行在Docker容器里,容器和容器间是隔离的。

这里提示:Linux支持Docker,Windows和MacOS的话,不直接支持(win10专业版好像可以直接支持,不过偶都是安装Linux的虚拟机,在上面跑Docker)。

Docker和虚拟机的区别

从两者的架构图上看,虚拟机是在硬件级别进行虚拟化,模拟硬件搭建操作系统;而Docker是在操作系统的层面虚拟化,复用操作系统,运行Docker容器。

Docker的速度很快,秒级,而虚拟机的速度通常要按分钟计算。

Docker所用的资源更少,性能更高。同样一个物理机器,Docker运行的镜像数量远多于虚拟机的数量。

虚拟机实现了操作系统之间的隔离,Docker算是进程之间的隔离,虚拟机隔离级别更高、安全性方面也更强。

虚拟机和Docker各有优势,不存在谁替代掉谁的问题,很多企业都采用物理机上做虚拟机,虚拟机中跑Docker的方式。

偶将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。