1

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

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

如果我在 Dockerfile 中使用以下命令运行相同的操作:

RUN c:\\mysvc\\mysvc.exe -install

我得到以下输出:

命令 'cmd /S /C c:\svc\mysvc.exe -install' 返回一个非零代码:3221225781

我不确定为什么它的行为不同,或者我可以在哪里检查以获得关于错误原因的一些更好的想法。

4

1 回答 1

1

调试此类问题的一个有用提示是在交互式容器中运行基本映像,按照 Dockerfile 的步骤操作,看看是否获得了一些更有用的输出。

在您的情况下,类似于:

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

然后在 Windows 主机上的另一个命令中:

docker cp mysvc.exe temp:c:/mysvc.exe

并回到交互式容器中运行c:\mysvc -install

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

于 2016-10-19T15:27:41.430 回答