码头工人是跨平台应用程序的解决方案吗?

沉亚伦

我通过阅读一些博客和介绍材料来开始使用docker。

我的理解是docker可以将单个应用程序包装到标准化容器中。容器提供了一个沙箱,应用程序需要运行的所有必需资源,并且内部的应用程序始终位于该容器中。这意味着我可以将容器运送到任何地方(不同类型的OS甚至是云平台),并且仍然可以正确运行。

如果我的理解是正确的,那么这是否意味着微软可以将其办公服包装到一个容器中,并且可以在mac os或linux上安装并运行它?还有一些其他不错的Mac应用程序也可以交付到Windows和Linux吗?

查尔斯·达菲

Docker是LXC之上的一个用户友好层,LXC是一组Linux内核功能,允许对文件系统配置,网络资源,进程表以及其他历史上是全局的内核介导的资源进行命名间隔。(与kvm或VMware相比,它更接近FreeBSD监狱)。

这些功能是Linux特有的,并且在Docker容器中运行的应用程序仍直接与主机的Linux内核接口(尽管它只能访问暴露给它所参与的名称空间的资源子集)。同样,操作码可直接在硬件上运行,而无需模拟虚拟化,因此也不会抽象出硬件差异

因此,Docker不是跨OS(或跨体系结构)的可移植性层,它不会成功地将依赖于特定内核版本的应用程序的实现细节隐藏起来,而完全取决于完全不同的操作系统。


2017年初更新

Docker现在通过捆绑类似于Linux上的kvm的轻量级虚拟化堆栈,在Mac上运行。当运行这种方式,实际上做虚拟化和集装箱化-前者运行(单)Linux内核,后者以这个内核中运行的一系列单独的容器中。

这仍然意味着它仅限于运行本机Linux应用程序,并且仍然没有为桌面应用程序提供显示层(X11,VNC或其他需要使用的其他东西)。但是,通过捆绑虚拟化工具,现代Docker现在成为一种可移植性解决方案(跨平台,而非体系结构)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在码头码头工人Docker中设置默认的Web应用程序

来自分类Dev

不能用弹簧启动应用程序连接到码头工人形象

来自分类Dev

码头工人不启动两个应用程序

来自分类Dev

码头工人是无状态的吗?

来自分类Dev

码头工人

来自分类Dev

码头工人

来自分类Dev

码头工人:容器可以执行码头工人ps或码头工人图像吗?

来自分类Dev

PHP应用程序无法连接到MySQL的码头工人在集装箱127.0.0.1

来自分类Dev

码头工人的监督?

来自分类Dev

码头工人,凉亭

来自分类Dev

Xubuntu +码头工人

来自分类Dev

码头工人的问题

来自分类Dev

码头工人可以使用ipc在主机上处理访问程序吗

来自分类Dev

码头工人可以使用ipc处理主机上的访问程序吗

来自分类Dev

码头工人可以写CD吗?

来自分类Dev

码头工人卷必须托管在主机上吗?

来自分类Dev

这对码头工人来说正常吗?

来自分类Dev

码头工人可以写CD吗?

来自分类Dev

如何调试与码头工人撰写运行的GlassFish应用

来自分类Dev

我们能否确定某个应用程序是使用phonegap还是类似的跨平台解决方案制作的?

来自分类Dev

我们能否确定某个应用程序是使用phonegap还是类似的跨平台解决方案制作的?

来自分类常见问题

码头工人建立无效的标签

来自分类Dev

码头工人提升用户特权

来自分类Dev

码头工人&Quagga BGP

来自分类Dev

无法启动openresty码头工人

来自分类Dev

码头工人-PG :: ConnectionBad

来自分类Dev

码头工人缺少舱单

来自分类Dev

码头工人建立无效的标签

来自分类Dev

码头工人npm errno -13