创建Windows docker映像时如何选择基本的Windows映像?

时间:2019-11-14 10:09:50

标签: docker docker-for-windows

由于某些原因,我们必须构建基于Windows的docker。从here开始,我们知道可以建立4种基本图像。

  1. windows / nanoserver
  2. windows / servercore
  3. windows
  4. windows / iotcore

我确定与物联网无关,因此不包括Windows / iotcore。虽然不确定剩下的三个。从大小的角度来看(nanoserver

在它们之间进行选择的标准是什么?

很显然,我缺少一些dll来启动服务,而Dependencywalker似乎也无法在基本映像1和2中运行。有人在识别该丢失的DLL方面有经验吗?这样,仍然可以对丢失的dll使用最小化基本映像。

进度更新: 我的服务成功运行#3(Windows基本映像)。但是docker映像大小非常大。见下文。这使得选择很重要。

  

mcr.microsoft.com/windows/nanoserver 10.0.14393.2430 9fd35fc2a361 15个月前1.14GB   mcr.microsoft.com/windows/servercore 1809-amd64 733821d00bd5 5天前4.81GB   mcr.microsoft.com/windows 1809-amd64 57e56a07cc8a 6天前12GB

非常感谢。

1 个答案:

答案 0 :(得分:0)

您现在可能已经前进了,但实际上

IOT -很小,适用于建筑商和制造商委员会。

Nanoserver =最小。运行netcore应用。您必须使用多阶段构建来构建它。从我看到的工作出发,它已经相当先进了。

ServerCore =中间。无GUI的Windows服务器。是最常见的默认基本映像。您没有说什么服务没有运行,但是包含应用程序兼容性FOD可能会解决该问题而不增加大小。使用最新的容器。我认为是1903年。

https://docs.microsoft.com/en-us/windows-server/get-started-19/install-fod-19

Windows =最胖,整个爆炸