我有一个服务应用程序,可以使用以下命令在Windows Server 2016 Standard中正确安装:

PS C:\Service> c:\\mysvc\\mysvc.exe -install
Service installed successfully

如果我在Dockerfile中使用以下命令运行同一件事:
RUN c:\\mysvc\\mysvc.exe -install

我得到以下输出:



我不确定为什么它的行为有所不同,或者我可以在哪里检查以获得有关错误原因的更好的主意。

最佳答案

调试此类问题的有用技巧是在交互式容器中运行基本镜像,按照适用于Dockerfile的步骤进行操作,并查看是否获得更多有用的输出。

就您而言,类似:

docker run -it --name temp microsoft/windowsservercore cmd

然后在Windows主机上的另一个命令中:
docker cp mysvc.exe temp:c:/mysvc.exe

然后在交互式容器中运行c:\mysvc -install

如果输出没有帮助,您可以在此处为问题添加更多详细信息-Dockerfile和有关Windows服务的一些信息。

10-08 20:11