我有一个服务应用程序,它将使用以下命令在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
我不确定为什么它表现得不同,或者我可以检查哪些方面可以找到更好的错误原因。
答案 0 :(得分:1)
调试此类问题的一个有用提示是在交互式容器中运行基本映像,按照Dockerfile的步骤操作,看看是否有更多有用的输出。
在您的情况下,例如:
docker run -it --name temp microsoft/windowsservercore cmd
然后在Windows主机上的另一个命令中:
docker cp mysvc.exe temp:c:/mysvc.exe
然后回到交互式容器中运行c:\mysvc -install
。
如果输出没有帮助,您可以在此处为您的问题添加更多详细信息 - Dockerfile和一些有关Windows服务的信息。