在Windows容器和Windows Server 2016中安装服务的区别?

我有一个服务应用程序,将使用以下命令在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

我不确定它为什么会有不同的performance,或者我可以在哪些方面进行检查,以获得有关错误原因的更好的想法。

debugging这种问题的一个有用的技巧是在交互容器中运行基础镜像,按照Dockerfile的步骤进行操作,看看是否有更多有用的输出。

在你的情况下,像这样的东西:

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

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

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

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

如果输出没有帮助,你可以在这里添加一些更多的细节 – Dockerfile和一些关于Windows服务的信息。