我有一个服务应用程序,可以使用以下命令在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服务的一些信息。