Docker 容器 和 虚拟机 的异同

见:https://www.docker.com/what-container


将软件打包成标准化的单元进行开发,发货和部署

容器映像是一个软件的轻量级独立可执行软件包,包含运行所需的所有内容:代码,运行时,系统工具,系统库,设置。无论环境如何,集装箱化的软件都可以运行在Linux和Windows应用程序上。容器将软件与其周围环境隔离开来,例如开发环境和登台环境之间的差异,并有助于减少在同一基础架构上运行不同软件的团队之间的冲突。


  •                              轻量级

    轻量级

    在一台机器上运行的Docker容器共享该机器的操作系统内核; 他们立即开始,并使用更少的计算和内存。图像是从文件系统层构建的,并共享公共文件。这最大限度地减少了磁盘使用,图像下载速度更快。




  • 标准

  • 标准

    Docker容器基于开放标准,可运行在所有主要Linux发行版,Microsoft Windows以及包括虚拟机,裸机和云中的任何基础架构上。




  •                                安全

    安全

    Docker容器将应用程序彼此隔离并从底层基础架构中分离出来。Docker提供了最强大的默认隔离功能,可以将应用程序问题限制在一个容器中,而不是整个机器上。

比较容器和虚拟机

容器和虚拟机具有相似的资源隔离和分配优势,但功能不同,因为容器虚拟化操作系统而不是硬件。容器更便携,更高效。

  • 集装箱

    集装箱

    容器是应用程序层的一个抽象,将代码和依赖关系打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为孤立进程运行。容器占用的空间少于虚拟机(容器图像的大小通常为几十MB),并且几乎立即开始。

  • 虚拟机

    虚拟机

    虚拟机(VM)是将一台服务器变成多台服务器的物理硬件的抽象。管理程序允许多台虚拟机在单台机器上运行。每个VM都包含一个操作系统的完整副本,一个或多个应用程序,必需的二进制文件和库 - 占用数十GB。VM也可能启动缓慢。


Docker容器虚拟机(VM)之间的性能区别主要体现在以下几个方面: 1. 轻量化:Docker容器虚拟机更轻量级,因为它们共享宿主机操作系统的内核和系统库。这意味着在同一台物理机上可以同时运行更多的Docker容器,而虚拟机则需要每个VM都运行自己的操作系统。 2. 启动时间:Docker容器相对于虚拟机具有更快的启动时间。这是因为启动一个Docker容器只需要创建一个新的进程,并且可以使用现有的基础镜像,而虚拟机需要加载整个操作系统和应用程序。 3. 资源占用:由于Docker容器共享宿主机的资源,所以占用的资源更少,包括内存、存储和CPU。而虚拟机需要独立的资源来运行操作系统和应用程序。 4. 性能损耗:由于Docker容器在宿主机上直接运行,并与宿主机共享内核,因此不会引入额外的性能损耗。虚拟机则需要通过虚拟化层来访问宿主机的资源,可能会带来一定程度的性能损耗。 5. 隔离性:虚拟机提供了更强的隔离性,每个VM都运行在独立的虚拟环境中,与其他虚拟机和宿主机隔离开。而Docker容器共享宿主机的操作系统,因此隔离性较弱,容器之间的相互影响可能较大。 综上所述,Docker容器虚拟机在性能方面存在一些区别。如果对轻量级、快速启动时间和资源优化有较高要求的场景,Docker容器是更好的选择。而在对隔离性和安全性要求较高的情况下,则可以选择虚拟机。当然,在实际应用中,具体的需求和使用场景也会对选择产生影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值