是否可以在Linux上运行Windows Containers?该场景基于一个用.NET编写的应用程序(旧网)和希望用Docker运行它的Linux用户,以便在net462
上提供localhost
编写的API。
我正在使用Docker Desktop for Windows的测试版
如果不是,那么为什么Windows可以运行Linux容器而不是反之亦然?
编辑:
一段时间过去了,这个问题很受欢迎。我想在此添加一条说明,解决方法是使用新的netstandard。它允许我将4.6.2
框架打包到新库中。
虽然Docker for Windows完全能够运行Linux容器,但理论上可行的却是由于实际原因而未实现。
最明显的一点是,虽然Docker for Windows可以自由运行Linux VM,但Docker for Linux需要Windows许可证才能在VM中运行。
此外,Linux是完全可定制的,因此Docker for Windows使用的Linux VM已经被剥离到几MB,仅包含运行容器所需的最低限度,而最小的Windows可用分发版大约为1.5 GB。它可能不是一个不切实际的大小,但它比Linux上的Linux更加繁琐。
虽然有人可能会出售与Windows许可证捆绑在一起的Linux版本的Docker并准备在Linux下运行Windows容器(我不知道这样的产品是否存在),但最重要的是你无法避免支付Windows供应商锁定价格:包括货币和存储空间。
Windows容器未在Linux上运行,您也无法直接在Windows上运行Linux容器。