当前位置: 首页 > 面试题库 >

如何对Windows应用程序进行Dockerize

公良扬
2023-03-14
问题内容

我有一个Windows应用程序,我想对其进行容器化。它是Windows桌面应用程序(不是Web应用程序)。我进行了一些搜索,发现关于容器化桌面应用程序的知识很少。我要容器化的应用程序在WindowsServerCore上运行良好。我的机器上有Windowsservercore映像。

我想知道如何进行容器化。有任何文档或有用的视频吗?当我完成dockerfile时,我可以与我的应用程序GUI进行交互吗???怎么样???


问题答案:

您可以在以下位置找到大量基于WindowsServiceCore的应用程序示例 StefanScherer/dockerfiles- windows

您需要编写一个Dockerfile(例如,diskspd/Dockerfile在其中复制/解压缩/安装所需应用程序的位置)。

FROM microsoft/windowsservercore:10.0.14393.1770

SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]

ENV DISKSPD_VERSION 2.0.17

RUN Invoke-WebRequest $('https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223/file/152702/1/Diskspd-v{0}.zip' -f $env:DISKSPD_VERSION) -OutFile 'diskspd.zip' -UseBasicParsing ; \
    Expand-Archive diskspd.zip -DestinationPath C:\ ; \
    Remove-Item -Path diskspd.zip ; \
    Remove-Item -Recurse armfre ; \
    Remove-Item -Recurse x86fre ; \
    Remove-Item *.docx ; \
    Remove-Item *.pdf

ENTRYPOINT [ "C:\\amd64fre\\diskspd.exe" ]

话虽如此,仍然需要对Windowscoreserver的完全GUI支持:

创建具有完全GUI支持的基本容器”。



 类似资料:
  • 我有一个带有linux平台的嵌入式系统,我想对每个应用程序执行压力测试和负载测试。我该怎么做? 如果我使用任何bash脚本(如下面的链接)或压力工具,它会增加系统的负载,而不是单个应用程序的负载 如何使用bash命令创建CPU峰值 让我知道我如何能在单个应用程序上实现。

  • 问题内容: 我通常在Linux系统上工作,但遇到一种情况,我需要编写一个客户端应用程序,该应用程序可以作为服务在Windows上运行。有人可以帮助我或指导我如何在Windows环境下构建MenuBar应用程序(例如Dropbox),该应用程序从操作系统启动开始,图标位于TaskBar中,然后单击该应用程序图标将显示一个菜单。 我的脚本语言是python。谢谢。 问题答案: 您可以使用pywin32

  • 使用 GWT 更轻松地测试异步应用程序 您可能从编写 Ajax 应用程序中获得了极大乐趣,但是对它们执行单元测试却着实让人头痛。 在本文中,Andrew Glover 着手解决 Ajax 的弱点(其中之一),即应对异步 Web 应用程序执行单元测试的固有挑战。 幸运的是,他发现在 Google Web Toolkit 的帮助下,解决这个特殊的代码质量问题要比预想的容易。 Ajax 在近期无疑是 W

  • 我用SWT制作了一个应用程序,导出它的jar,然后我就可以运行它了。我的机器是(win xp)。 然后,我尝试在windows 7:java版本“1.7.0\u 17”java(TM)SE运行时环境(build 1.7.0\u 17-b02)java HotSpot(TM)64位服务器VM(build 23.7-b01,混合模式)上运行jar 但是这台机器无法启动应用程序。然后,我尝试使用java

  • 问题内容: 我有一个需要大量内存的程序,例如所有物理内存的2/3。运行一段时间后,我的操作系统开始将程序交换为hdd。但是我需要程序始终保持非常快的响应,因此我需要防止对该进程进行分页。 如何防止操作系统交换一个进程? 谢谢你的帮助! 问题答案: 在程序开始时,调用: (如果您没有该程序的源代码,则必须使用该程序来减少进程的消耗)。 请注意,这将增加进程失败进行内存分配的机会。