Windows容器可以托管在Linux上吗?

这可能在Linux上运行Windows Containers吗? 该场景基于.NET (旧网络)编写的解决方案以及希望与Docker一起运行以在localhost上提供net462编写的API的Linux用户

我正在使用Docker for Windows的测试版

如果不是,那么为什么Windows可以运行linux容器而不是反之呢?

编辑:

随着时间的流逝,这个问题是一个受欢迎的问题。 我想在这里添加一个注释,解决方法是使用新的netstandard。 它允许我将4.6.2框架打包到新库中。


更新于2018年:

一般来说原来的答案是正确的, 几个月前,码头添加了实验功能LCOW(官方github仓库)。

来自这篇文章:

Docker for Windows是否已经运行Linux容器? 那就对了。 Docker for Windows可以运行Linux或Windows容器,通过Hyper-V Moby Linux VM支持Linux容器(从Docker for Windows 17.10开始,此VM基于LinuxKit)。

使用LCOW运行Linux容器的设置比以前的Hyper-V Linux VM运行Linux Docker守护程序以及所有容器的体系结构要简单得多 。 使用LCOW时,Docker守护进程作为Windows进程运行(与运行Docker Windows容器相同),并且每次启动Linux容器时,Docker都会启动一个运行带有Linux内核的虚拟机的最小Hyper-V虚拟机管理程序,runc和容器进程在顶部运行。

因为只有一个Docker守护进程,并且由于该守护进程现在可以在Windows上运行,所以很快就可以在同一个网络命名空间中并排运行Windows和Linux Docker容器 。 这将为Windows上的Docker用户解锁许多令人兴奋的开发和生产场景。

原版的:

正如@PanagiotisKanavos的评论所述,容器不是用于虚拟化, 而是使用主机的资源 。 因此,目前Windows容器无法在Linux机器上“按原样”运行。

但是 - 你可以通过使用虚拟机来完成 - 因为它在Windows上工作。 您可以在您的Linux主机上安装Windows VM,这将允许运行Windows容器。

有了它,恕我直言在PROD环境下以这种方式运行它不会是最好的主意。

此外,这个答案提供了更多细节。


不,您不能在Linux上运行Windows容器,但Windows Server与ubuntu OS的基本映像( 2016年9月beta版服务包 )打包在一起。 这就是你可以在Windows上运行linux而不是其他方式的原因。 看看这里。 https://thenewstack.io/finally-linux-containers-really-will-run-windows-linuxkit/

通过右键单击托盘菜单中的泊坞窗,您可以在OS容器Linux和Windows之间切换。

在这里输入图像描述

在这里输入图像描述


您可以在虚拟机中使用Windows Containers(客户操作系统应符合要求 - Windows 10 Pro或Windows 2016)。

例如, 您可以使用VirtualBox ,只需在System / Acceleration / Paravirtualization Interface中启用Hyper-V即可。

之后,如果由于错误导致Docker无法启动,请在设置中使用“切换到Windows容器...”。

(这可以作为评论被接受的答案,但我没有足够的声誉来这样做)

链接地址: http://www.djcxy.com/p/18199.html

上一篇: Can Windows Containers be hosted on linux?

下一篇: Docker.io for Windows