如何将依赖windows的程序打包到轻量级docker容器中



我目前有一个文件夹,其中包含一些.dll文件、.bin文件和一些.exe文件。我将要执行的main.exe只适用于windows,我不完全确定它的所有依赖项是什么。我的目标是将文件夹中的所有文件打包到一个docker容器中,这样我就可以将其集成到我的管道的其余部分中。main.exe是一个命令行工具,它只使用一些参数调用一次,然后运行。

我已经尝试使用windows服务器核心作为容器映像,并且它是有效的。然而,这张照片太大了,不适合我的需要。我曾尝试使用nano服务器,但当我尝试运行可执行文件时,命令行中没有打印任何内容,程序也不会运行。在这种情况下,如果我键入:

C:Binx64>echo %ERRORLEVEL%

我得到以下输出:

-1073741515

这意味着我缺少了一些依赖。

所以,我想知道是否有一个替代的解决方案来包装这个文件夹,因为windows服务器核心太大了。

很可能您将不得不使用服务器核心映像。主要的是,这些图像服务器的用途不同,Nano服务器旨在通过目标Nano服务器API开发新的应用程序。Server Core是一个专注于现有应用程序的映像,但它的API使映像比容器中的映像更大。

请记住,它仍然比完整的VM更好。:(

我在这里写了一篇博客:https://techcommunity.microsoft.com/t5/containers/nano-server-x-server-core-x-server-which-base-image-is-the-right/ba-p/2835785

最新更新