容器运行在哪里?裸机服务器OR虚拟机?

简介:

知道为什么应该使用容器。但是您知道部署容器得用哪种基础设施吗? 作为托管Docker和其他容器环境的平台,裸机服务器是否比虚拟机更好?

答案当然取决于很多因素,本文将通过列举裸机服务器和虚拟机上运行容器的优缺点来讨论。我将专注于Docker,但这里分享的经验通常适用于任何类型的容器平台。

裸机VS虚拟机

权衡裸机服务器和虚拟化主机环境各自的优缺点不是一个新课题,CTO们在21世纪初就开始思考了,当时虚拟化刚开始在数据中心推广,Docker则还没出现。

简而言之,裸机服务器的主要优点包括:

更高的性能,因为没有系统资源浪费在硬件模拟上;充分利用所有机器资源,高需求期间无闲置;更简单的管理,因为主机、网络和磁盘等硬件基础架构更少。
虚拟机则具有以下优点:

通过在服务器之间传输虚拟机映像,轻松实现在主机间移动应用程序;不同虚拟机中运行的应用程序实现隔离,不仅有助于安全,也能降低管理复杂度。通过在同一类型虚拟机上部署所有应用程序,即使底层服务器是异构的,也能实现软件环境的跨平台一致性。
但是虚拟机也有一些缺点,包括:

服务器资源可能未完全使用。例如,如果您在服务器主机上分配存储空间以创建虚拟机磁盘映像,即使磁盘连接的虚拟机不使用全部空间,该存储空间也不可用于其他用途。虚拟机无法直接访问物理硬件。如果您希望虚拟机能够将计算操作转移到主机的GPU上,您很难或无法实现,因为虚拟机是从底层主机环境中抽象出来的。物理服务器直接访问硬件,虚拟服务器访问软件模拟的硬件。
现代虚拟化平台提供了一些技巧,可以帮助管理员解决上述限制。例如,您可以创建动态磁盘映像,该映像随着虚拟机的使用情况的增加而扩展,以避免虚拟机实际使用之前锁定主机上的存储空间。在某些情况下,您还可以利用直通功能为虚拟机提供直接访问主机物理硬件的功能。

然而,这些功能不是总能生效,例如他们不支持所有的主机或操作系统,他们还会产生额外的管理负担。如果您要运行的应用程序需要裸机访问,最好在裸机服务器上运行这些应用程序。

或者,您可以在裸机服务器上的容器中运行应用程序,以便充分利用这两个方面。

本文转自d1net(转载)

目录
相关文章
监控 安全 Linux
246 0
|
7月前
|
Linux 虚拟化 iOS开发
VMware Fusion 13.6.4 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
VMware Fusion 13.6.4 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
889 3
|
8月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
569 12
|
10月前
|
数据挖掘 索引
服务器数据恢复—raid6阵列硬盘故障导致上层虚拟机不可用的数据恢复案例
一台由16块硬盘组成的raid6磁盘阵列。磁盘阵列中有一块硬盘因为物理故障掉线,导致服务器上层虚拟机无法正常使用,部分分区丢失,重启物理服务器后发现数据丢失。
|
11月前
|
监控 网络安全 虚拟化
Hyper-V中Win10,虚拟机运行错误处理的方案
当Hyper-V中的Windows 10虚拟机出现运行错误时,可按以下步骤处理:首先进行基本检查与修复,包括检查虚拟机配置、确保Hyper-V服务正常运行及重启相关服务。其次,使用PowerShell命令或DISM工具修复虚拟机配置和系统组件。接着,查看事件查看器中的错误日志,分析问题原因。调整虚拟机资源分配,优化性能。针对特定错误情况,如启动失败或网络问题,采取相应措施解决。若问题仍未解决,考虑克隆、重置或重新安装虚拟机,必要时联系技术支持。操作前请备份重要数据并以管理员身份运行命令。
1100 22
|
存储 Dart Java
Dart 虚拟机运行原理
【10月更文挑战第20天】Dart 虚拟机通过一系列复杂的机制和操作,确保 Dart 代码能够准确、高效地执行。它为 Dart 语言的广泛应用提供了坚实的基础和可靠的运行环境
394 6
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
3976 0
|
网络安全 Docker 容器
VScode远程服务器之远程 远程容器 进行开发(五)
VScode远程服务器之远程 远程容器 进行开发(五)
499 1
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
918 2
|
SQL 数据挖掘 数据库
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
服务器数据恢复环境: 一台服务器中有一组由4块STAT硬盘通过RAID卡组建的RAID10阵列,上层是XenServer虚拟化平台,虚拟机安装Windows Server操作系统,作为Web服务器使用。 服务器故障: 因机房异常断电导致服务器中一台VPS(Xen Server虚拟机)不可用,虚拟磁盘文件丢失。
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例