虚拟机和容器比较

容器相比虚拟机更轻量 ubuntu

一 虚拟机 架构

image

 

二 容器 运维

image

 

1、本质上的区别: 分布式

image

VM(VMware)在宿主机器、宿主机器操做系统的基础上建立虚拟层、虚拟化的操做系统、虚拟化的仓库,而后再安装应用;微服务

        Container(Docker容器),在宿主机器、宿主机器操做系统上建立Docker引擎,在引擎的基础上再安装应用。性能

        那么问题来了,没有操做系统,怎么运行程序?测试

        能够在Docker中建立一个ubuntu的镜像文件,这样就能将ubuntu系统集成到Docker中,运行的应用就都是ubuntu的应用。操作系统

2、使用上的区别:
image
.net

Size:   设计

1.虚拟机中ubuntu所占内存:

image

2.Docker容器中ubuntu镜像文件所占内存

image

Startup:
        Docker在宿主机器的操做系统上建立Docker引擎,直接在宿主主机的操做系统上调用硬件资源,而不是虚拟化操做系统和硬件资源,因此操做速度快。

        这个其实安装一个ubuntu的虚拟机和拉取一个Docker的ubuntu镜像文件,运行一下就知道了,区别很明显,虚拟机开一下大概得2分多钟,而Docker只须要2秒钟。

Integration:
        Docker的集成性要比VM好。这个并无深刻研究,不过能够提供一个博客,这里面关于Docker集成的内容写的很好。

https://blog.csdn.net/karamos/article/details/80124166

3、Docker特色
1)上手快

用户只须要几分钟,就能够把本身的程序“Docker 化”。Docker 依赖于“写时复制” (copy-on-write)模型,使修改应用程序也很是迅速,能够说达到“随心所致,代码即改” 的境界。

随后,就能够建立容器来运行应用程序了。大多数 Docker 容器只须要不到 1 秒中便可 启动。因为去除了管理程序的开销,Docker 容器拥有很高的性能,同时同一台宿主机中也 能够运行更多的容器,使用户尽量的充分利用系统资源。

2)职责的逻辑分类

使用 Docker,开发人员只须要关心容器中运行的应用程序,而运维人员只须要关心如 何管理容器。Docker 设计的目的就是要增强开发人员写代码的开发环境与应用程序要部署 的生产环境一致性。从而下降那种“开发时一切正常,确定是运维的问题(测试环境都是正 常的,上线后出了问题就归结为确定是运维的问题)”

3)快速高效的开发生命周期

Docker 的目标之一就是缩短代码从开发、测试到部署、上线运行的周期,让你的应用 程序具有可移植性,易于构建,并易于协做。(通俗一点说,Docker 就像一个盒子,里面 能够装不少物件,若是须要这些物件的能够直接将该大盒子拿走,而不须要从该盒子中一件 件的取。)

4)鼓励使用面向服务的架构

Docker 还鼓励面向服务的体系结构和微服务架构。Docker 推荐单个容器只运行一个应 用程序或进程,这样就造成了一个分布式的应用程序模型,在这种模型下,应用程序或者服 务均可以表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序 都变得很是简单,同时也提升了程序的内省性。(固然,能够在一个容器中运行多个应用程 序)
---------------------
做者:JingZhunBianCheng
来源:CSDN
原文:http://www.javashuo.com/article/p-ziyljpmw-he.html 版权声明:本文为博主原创文章,转载请附上博文连接!

相关文章
相关标签/搜索