在Windows上使用原生Docker

3

最近我看到一些新闻文章称微软正在与Docker合作,使Docker可以在Windows Server上原生运行。

我想问的是,这是否允许Windows应用程序在Docker容器中运行,还是仅仅是一种在Windows上运行Docker镜像库(其中运行特定子集的Linux衍生版本)而无需使用虚拟机的方法?


3个回答

2

本文讨论的是在Windows主机上运行Windows容器。

Linux容器仍需在Linux上运行(或在Windows主机上的Linux虚拟机中运行,但您今天就可以使用boot2docker来实现这一点)。

这里有一篇来自Microsoft的文章。请注意图表。


好的,Wired说,微软表示他们将运行Docker容器 ;) https://twitter.com/WIRED/status/522568640227717121 - Andreas Steffan
3
容器共享主机的内核。如果你能向我展示Linux容器如何使用Windows内核,我会非常好奇听听它的运行方式。现在,是的,Docker本身可以在Windows上运行,但它将在那里运行Windows 容器。虽然《连线》的说法在技术上是正确的(但是误导性的,毕竟那是一条《连线》的报道),只是你误解了它的意思。为你更新了我的答案,并附上了一个来源(这肯定会使答案更好,所以感谢你的评论)。 - Thomas Orozco
@AndreasSteffan 哦,抱歉,我没有意识到你在嘲笑 Wired 的那句话。:( 我的错! - Thomas Orozco
好的,谢谢,我明白了。所以它只是一种将已经在Windows上运行的应用程序容器化的方法,只不过具有像Docker这样的镜像和在线存储库共享镜像的附加优势。这很好,谢谢。 - Wynand Pieterse
实际上,在Windows中可能会运行Linux容器,它们不一定要共享内核,但需要遵循一些特定的协议。一个例子是在Solaris上运行的lx-zones,其中一层薄薄的状态协议使得Solaris内核能够在Solaris区域内运行Linux客户端容器(这就是Joyent公共云在裸机上运行容器的方式)。https://wiki.smartos.org/display/DOC/LX+Branded+Zones - canesin
显示剩余2条评论

1

Windows Server有一个名为Windows Services for UNIX(SFU)或Subsystem for UNIX-based Applications(SUA)的功能。它是Windows的内核扩展,但很小。

我相信如果微软将这些“内核扩展”更改为与Linux最新内核兼容,就可以实现一种“思考”,可以运行一些用户模式Linux应用程序。


这是一种可能性,但模拟层总是存在问题。它对于一些简单的实用程序可能有用,但如果超出了这个范围,麻烦就会太多,最好只需启动一个本地支持Linux的云提供商的VM提供程序,并在其上执行所有操作。 - Wynand Pieterse


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接