APP下载

Docker&Vmware有什么区别呢?

消息来源:baojiabao.com 作者: 发布时间:2024-05-20

报价宝综合消息Docker&Vmware有什么区别呢?

Docker 是一个开源的应用容器引擎,可以轻松的为任何应用建立一个轻量级的、可移植的、自给自足的容器。

简单的理解,Docker类似于集装箱,各式各样的货物,经过集装箱的标准化进行托管,而集装箱和集装箱之间没有影响。也就是说,Docker平台就是一个软件集装箱化平台,这就意味着我们自己可以构建应用程序,将其依赖关系一起打包到一个容器中,然后这容器就很容易运送到其他的机器上进行执行,而且非常易于装载、复制、移除,非常适合软件弹性架构。就像Docker的logo一样。

Docker&Vmware区别:

虚拟机器执行多个相互隔离的应用时,如下图:

基础设施(Infrastructure)。比如:个人pc或者服务器。主机操作系统(Host Operating System)。个人电脑之上,执行的MacOS或者Windows系统。虚拟机器管理系统(Hypervisor)。利用Hypervisor,可以在主机操作系统之上执行多个不同的从操作系统。比如安装的VirtualBox和VMWare。从机操作系统(Guest Operating System)。vmware里面安装多个Centos7的系统,假设执行3个相互隔离的应用,则需要启动3个Linux系统,也就是3个虚拟机器。这些虚拟机器都非常大,如果一个虚拟机器有20GB,那么意味着它们将占用60GB的磁盘空间。更糟糕的是,它们还会消耗很多CPU和内存。各种依赖。每一个从操作系统都需要安装许多依赖。如果你的的应用需要连线PostgreSQL的话,则需要安装libpq-dev;如果你使用Ruby的话,应该需要安装gems,都会需要安装对应的依赖库。应用。安装依赖之后,就可以在各个从操作系统分别执行应用了,这样各个应用就是相互隔离的。Docker容器的相同设定:

基础设施(Infrastructure)。比如:个人pc或者服务器。主机操作系统(Host Operating System)。所有主流的Linux发行版都可以执行Docker。对于MacOS和Windows,也有一些办法”执行”Docker。Docker守护程序(Docker Daemon)。Docker守护程序取代了Hypervisor,它是执行在操作系统之上的后台程序,负责管理Docker容器。各种依赖。对于Docker,应用的所有依赖都打包在Docker映象中,Docker容器是基于Docker映象建立的。应用。应用的源代码与它的依赖都打包在Docker映象中,不同的应用需要不同的Docker映象。不同的应用执行在不同的Docker容器中,它们是相互隔离的。总结:

两者有不同的使用场景。虚拟机器更擅长于彻底隔离整个执行环境(Linux图片就可以看出来)。例如,云服务提供商通常采用虚拟机器技术隔离不同的使用者。而Docker通常用于隔离不同的应用,例如前端,后端以及数据库。所以要根据不同的场景灵活使用。

2019-09-22 05:07:00

相关文章