29

我使用 Win 10 Pro N(版本 1709)作为开发机器,使用 Windows Server 2016 Standard(版本 1607)作为生产服务器。

我目前正在开发一个使用 MongoDb 作为数据库的 ASP.NET Core 2 应用程序。

几天前,我第一次偶然发现了将 MongoDb 作为 Docker 映像运行的想法。

到目前为止,我对 Docker 没有任何经验,但我设法从 Linux 容器(默认)切换到Windows 机器上的 Windows 容器。

这是一个好的决定吗?或者我有什么理由在我的场景中使用 Linux 容器而不是 Windows 容器?

例如,如果我决定在某个时候将我的应用程序部署到 Linux 服务器上怎么办?在这种情况下,从一开始就使用 Linux 容器会更明智吗?

4

2 回答 2

38

Docker 不是关于虚拟化,而是更多关于隔离。

Windows 容器将在 Windows 主机上运行

linux 容器将在 linux 主机上运行

然后有人想在windows上运行linux容器

  • 首先你需要在 windows 上创建一个 linux vm 来运行容器
  • 现在您可以使用 LinuxKit 来运行容器,但它仍然是一个轻量级 VM

然后有人想在linux上运行windows容器

  • 首先你需要在 linux 上创建一个 windows vm 来运行容器
  • 现在你不能再使用了

所以最好的选择是从一个针对生产服务器的容器开始

于 2018-01-03T15:38:21.193 回答
16

如果您想部署到 linux,我建议您使用 linux 容器,因为您随后会测试更相似的设置,并且更有可能发现最终部署中也会出现的问题。

除此之外,linux容器技术比windows容器更成熟,支持更好。

于 2018-01-03T15:28:27.663 回答