有人能解释一下吗?
Windows Server 2016 容器技术 Docker 正确吗?过于简单的假设是 Docker 和 Windows 之间的某个 Hyper-v 转换层?
- 您能将纯 Win32 应用程序 docker 化吗?
- 或者它只是用于运行现有的基于 Linux 的 Docker 容器?
- 对于基于 Windows 的应用程序,您可以 Dockerize .Net Core 应用程序吗?
答案1
更新:根据@RonnieOverby 的评论,似乎正在开发允许 Linux 容器在 Windows 上本地运行的开发项目。看起来它将基于 Hyper-V 以隔离模式运行,但应该可以让您无缝管理所有内容。我不太确定 Linux 是否在 Windows 上运行,似乎更像是 Hyper-V 运行 Linux 并提供手势和技巧来使一切无缝衔接。不过,作为托管选项,这是一个值得考虑的问题。
您无法运行基于 Linux 的容器 - 这些容器依赖于 (Linux) docker 主机提供的 Linux 内核。您可以运行 Hyper-V 风格的 Windows 容器(容器在“优化”的 VM 中独立运行)或 Windows 上有效的 docker。正在运行的容器必须是为 Windows 构建的容器,docker hub 上有一些 -纳米服务器基础镜像例如一个。
Windows 已整合了其 OS Gubbins 版本(命名空间等),使 Docker 在 Linux 上工作 - 因此您可以获得类似(相同?)的体验,但底层实现不同。Hyper-V 风格对此有自己的倾向,但只是同一主题的变体。
.NET Core 可以组合成任何一种风格——已经有一个基于 Linux 的 Docker 镜像为此(分几次旋转),如果没有官方的 Windows,您可能能够做到这一点,或者它可能会在某个时候出现。
我不知道 Win32 的东西 - 我想这取决于 MS 提供的基础图像中有哪些内容,这些似乎主要是基于 2016 Server-Core / Nano-Server,所以如果你的应用程序可以在类似的东西上运行,那么你很可能很幸运。有一个库存.net 4.6一个和集线器上的 3.5,旁边是 SQL Express 图像和 IIS - 因此其中有本机的移动部件。
Windows 版本无法在 Linux 上运行。
我不知道任何一个许可证是如何运作的。
所有细节都是这里