Ida*_*evi 2 windows powershell docker windows-container
我在 VS 2017 中创建了一个 C# WCF Windows 服务应用程序并添加了 Docker 支持。
创建了以下 Dockerfile:
FROM microsoft/dotnet-framework:4.7.1-windowsservercore-1709
ARG source
WORKDIR /app
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["C:\\WcfService.exe"]
Run Code Online (Sandbox Code Playgroud)
当我在 VS 中使用 docker-compose 构建它时,出现错误:
无法从命令行或调试器启动服务。必须首先安装 Windows 服务(使用 installutil.exe),然后使用 ServerExplorer、Windows 服务管理工具或 NET START 命令启动。程序“[2172] WcfService.exe”已退出,代码为 0 (0x0)。
我已打开 PowerShell 并输入docker ps- 容器正在运行。所以我使用New-Service命令并创建“TestService”。当我用来Get-Service查看所有服务时,我可以在“已停止”模式下在列表中看到它。当我使用时Start-Service TestService,我收到以下错误:
启动服务:无法启动服务“TestService(TestService)”。在第 1 行:1 个字符:1 + Start-Service TestService + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OpenError: (System.ServiceProcess.ServiceController: ServiceController)[启动服务],ServiceCommandException + ExcellentQualifiedErrorId:StartServiceFailed,Microsoft.PowerShell.Commands.StartServiceCommand
试图查找信息但没有任何效果。有任何想法吗?
好的,所以我采纳了 Jeroen 的建议并深入挖掘以查看事件查看器。我在“Get-EventLog”命令上使用了一些过滤器来获取相关的错误行并将其存储在变量中
$A = Get-EventLog -LogName System -Newest 10 -Source "Service Control Manager" | Select *
然后,我使用如下格式很好地格式化了它:
$A | Format-List -Property *
Run Code Online (Sandbox Code Playgroud)
并得到了例外。
显然它与我的应用程序正在使用的 C++ dll 有关。它可能会丢失,或者环境运行它时遇到问题,但这是我相信我可以解决的另一个问题。
希望能帮助其他遇到类似问题的人。谢谢。
| 归档时间: |
|
| 查看次数: |
4472 次 |
| 最近记录: |