IIS 和 .NET 以及 Mac 上的 Docker

Jaf*_*kex 5 .net iis macos docker

场景: 我们是一个 10 人的团队,在 Mac 和 Windows 上进行开发。我们的项目使用 NodeJS、.NET Framework 4.5、TSQL 和 IIS 服务器。为了使我们的应用程序跨平台,我们使用 Vagrant 来设置 Windows。

问题: 似乎我们花了很多时间来保持我们的开发环境运行。Mac和Windows部署不同,部署到测试服务器比较困难,Vagrant机器19GB,部署慢。

解决方案? 我们目前正在研究 Docker,看看它是否能让我们的生活变得更好。该项目看起来非常有前途,但似乎我们需要使用基于 Windows 的容器来运行 IIS 和 .NET Framework,它们只能在 Windows Server 2016 和 Windows 10 Anniversary Update 上运行。

问题:我们必须使用基于 Windows 的容器吗?不用下载虚拟机​​,可以在Mac上运行dev环境吗?我们应该使用 Docker 吗?

Man*_*rks 4

答案很复杂:

  1. 如果您在 Mac 上运行,则需要 Linux 容器。您无法运行 Windows 容器。

  2. IIS 没有 Linux 容器版本,只有 Windows 容器版本: https: //hub.docker.com/r/microsoft/iis/

  3. 您可以在 Linux 容器中使用 .NET Core https://hub.docker.com/r/microsoft/dotnet/

  4. 您可以在 Linux 容器中使用 NodeJS https://hub.docker.com/_/node/

  5. 有用于使用 TSQL 的 NodeJS 和 .NET Core 模块

如果您需要每个开发人员都能够访问 IIS 和/或 .NET 4.5(而不是 .NET Core)中的功能,那么您将需要另一种方法来实现。如果人们可以在某个地方的 Windows 2016 Server 上进行测试,那么您就可以做到。