首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用程序虚拟化、仿真层和容器虚拟化有什么区别?

应用程序虚拟化、仿真层和容器虚拟化有什么区别?
EN

DevOps用户
提问于 2019-02-02 20:40:44
回答 1查看 339关注 0票数 1

应用虚拟化 (如Flatpak)、仿真层 (如葡萄酒、cygwin)和容器虚拟化 (如Docker)之间有什么区别和关系?

我一直在努力想办法解决问题,但最后总是没有抓住要点。尤其是它们的病毒化程度之间的根本差异。

EN

回答 1

DevOps用户

发布于 2019-02-03 02:28:13

Linux容器虚拟化是内核特性、名称空间和cgroup的组合,用于在沙箱中运行应用程序。每个应用程序都有自己的文件系统、网络堆栈、pid命名空间等,但运行在与主机相同的操作系统内核上。从主机上可以看到进程正在运行,但从沙箱内部可以看到的只有应用程序。它是为管理服务器端应用程序而设计的。

应用程序虚拟化与容器虚拟化非常相似,对我来说,代码有点模糊。在类似于Flatpak的上下文中,它使用的名称空间和cgroup与容器工具(如docker )相同。关键的区别在于他们为桌面用例设计了工具,这意味着工具被设计成可以用本地GUI访问,而不是像web服务器那样远程运行。

仿真是运行为另一个操作系统设计的程序的一种方式。您通常不能在Linux系统上运行Windows二进制文件,反之亦然,操作系统内核非常不同,二进制格式不同,它们实际上讲的是不同的语言。仿真层提供了一个转换,可以在本地机器上运行非本地程序,而无需创建整个虚拟机并运行单独的操作系统。这与在共享OS内核上运行本地OS应用程序的容器和应用程序虚拟化非常不同。

票数 4
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/6206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档