在Docker中使用Windows容器而不是Linux容器的优缺点?


36

我正在Windows 10上安装Docker for Windows(CE),第一个屏幕问我:

[]使用Windows容器而不是Linux容器(安装后可以更改)

这似乎是一个重要的决定,但是Docker文档FAQWindows容器教程没有提供有关为什么我可能会选择另一个的信息。

客观地了解此选择的后果将很有帮助:

  • 一种选择会比另一种更快吗?
  • 该决定是否影响系统资源(RAM,CPU)的使用?
  • 我可以在两种类型上运行相同的图像吗?
  • 一个比另一个更安全吗?

任何其他可能有助于我得出结论的区别都将受到欢迎。


答案不是基于观点的。并且被接受。因此,无需关闭此程序。
尼尔斯

Answers:


19

您必须将Windows主机用于Windows容器,但是可以将Linux主机或Windows主机用于Linux容器。自2018年4月起,您甚至可以并行运行两者

一种选择会比另一种更快吗?

号快什么呢?

该决定是否影响系统资源(RAM,CPU)的使用?

Windows比Linux使用更多的资源-Windows Nano越来越小

我可以在两种类型上运行相同的图像吗?

不能。您可以在Mono容器中运行.NET应用程序,但不能在Linux主机上启动Windows容器,反之亦然-与虚拟化不同

一个比另一个更安全吗?

再次-在什么方面更安全?否。它们都运行本机Docker,所以它与hyper-v,VMware和Linux与Windows完全不同,这全都取决于要运行.net,python,java,ruby等的内容。


2
第二个。阅读补充了这个答案containerjournal.com/2016/10/28/…–
A.Newgate

4
因此,如果我选择使用Linux容器,那么Doc​​ker将启动Hyper-V Linux VM来运行我的容器,否则它将本地运行Windows容器吗?而且我不能同时运行两种类型的容器吗?
Duncan Jones

1
Windows 10的
docker

Docker基于lxc(Linux)-它将使用与Docker-host相同的内核。如果在lxc中启动Windows,则必须虚拟化或模拟win。由于win支持linux,所以不确定是否适用于win-docker。
尼尔斯

1
@DuncanJones,在您询问MSDN上的博客文章仅三天后,您就可以并行运行Windows和Linux容器。
乔纳斯·海德堡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.