docker - 在Windows Container和Windows Server 2016中安装服务之间的区别?

标签 docker service 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

我得到以下输出:

The command 'cmd /S /C c:\svc\mysvc.exe -install' returned a non-zero code: 3221225781



我不确定为什么它的行为有所不同,或者我可以在哪里检查以获得有关错误原因的更好的主意。

最佳答案

调试此类问题的有用技巧是在交互式容器中运行基本镜像,按照适用于Dockerfile的步骤进行操作,并查看是否获得更多有用的输出。

就您而言,类似:

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

然后在Windows主机上的另一个命令中:
docker cp mysvc.exe temp:c:/mysvc.exe

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

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

关于docker - 在Windows Container和Windows Server 2016中安装服务之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40133949/

相关文章:

Docker: `docker run` 和 `docker service` 之间的区别

android - 在服务中调用 getIntent 方法

php - 如何在 CentOS 7.6 中使用 sqlsrv 连接到 SQL Server?

vb6 - 将 VB6 编译为 Server 2016 上的后台进程

windows - 在所有图像/文件完成之前页面停止加载

docker - minikube 在 Centos7 上启动

amazon-web-services - TeamCity:将 docker 镜像推送到 AWS ECR

docker - 构建依赖于本地 "Dockerfile"的 docker 镜像

java - Spring 中的长期运行服务?

android - 服务和 BroadCastReceiver