我有一个服务应用程序,将正确安装在Windows Server 2016标准使用以下命令:
PS C:Service> c:\mysvc\mysvc.exe -install
Service installed successfully
如果我在Dockerfile中使用
运行相同的事情:RUN c:\mysvc\mysvc.exe -install
得到以下输出:
命令'cmd/S/C C:svcmysvc.exe -install'返回a非零代码:3221225781
我不确定为什么它的行为不同,或者我可以在哪里检查得到一些更好的想法,作为错误的原因。
调试这类问题的一个有用的技巧是在交互式容器中运行基本映像,按照Dockerfile的步骤操作,看看是否得到一些更有用的输出。
在你的例子中,像这样:
docker run -it --name temp microsoft/windowsservercore cmd
然后在Windows主机上的另一个命令:
docker cp mysvc.exe temp:c:/mysvc.exe
在交互式容器中运行c:mysvc -install
。
如果输出没有帮助,你可以在这里添加更多的细节到你的问题- Dockerfile和一些关于Windows服务的信息。