我已经使用 Docker for Windows 大约一年了,但我仍然没有很好地掌握何时应该使用不同的图像、它们之间的关系以及它们中包含哪些 Windows 组件。
在这个链接上:
https://hub.docker.com/_/microsoft-windows-base-os-images
有四个“精选 repo ”:
我知道 windows/servercore 应该包含比 nanoserver 更多的东西,但究竟是什么?为什么有些程序在 servercore 而不是 nanoserver 中工作,是否有某种方法可以找到特定程序的 nanoserver 中缺少的内容?
除此之外,他们还列出了三个相关的 repo :
这两个 dotnet repos 都包含五个子 repos,不同之处在于 dotnet-framework 是基于 server core 的,而 dotnet 是基于 nanoserver 的。
是否有所有这些存储库/图像的一些易于理解的文档,也许有一个简单概述的图表?其中一些是否有一个公共(public) Dockerfile 来解释它们是如何创建的,例如:?
https://github.com/docker-library/python/blob/master/3.6/windows/windowsservercore-ltsc2016/Dockerfile
最佳答案
您提到的差异与 Docker 的联系比您想象的要少。
所有图像都是一系列操作,将产生一个正常运行的环境。将其视为自动安装,就像您在物理机器上手动安装一样。
存储库上有不同的图像意味着安装不同,具有不同的设置。我不是 .NET 专家,也不是 Windows Server 爱好者,但就我的发现而言,Nano Server 是另一种安装 Windows Server 的方式,它的功能较少,因此重量很轻。 (https://docs.microsoft.com/en-us/windows-server/get-started/getting-started-with-nano-server)
这些技术差异是特定于技术的,您可以在 Microsoft 的官方文档中找到所需的所有信息。
请记住,Docker 是一种做某事的方式,而不是您正在使用的操作系统的设计者,因此大多数时候您必须在系统的实际文档中进行搜索(在这种情况下,Windows Server 和 .NET 框架) .
我希望这能帮助你更好地理解,享受 Docker 的乐趣!
关于docker - 所有官方的 windows docker 镜像是如何相关的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55889048/