请帮助我, 我用dotnet-framework-docker内部的Windows服务构建了一个图像Windows服务器作为基本图像。 我已经将(-StartupType Automatic)设置为该服务,但是当容器处于联机状态时,该服务不会启动。 这是Dockerfile中的命令
New-Service -Name $service_name -DisplayName $service_display_name -Description 'Domain Handlers' -BinaryPathName $service_path -StartupType Automatic
这是我从正在运行的容器中获得的服务的状态。
ExitCode : 0
Name : Project-Dev
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
我现在也有两种解决方案。 首先,我想我可以创建一个脚本并将其设置为在ENDTRYPOINT或CMD中运行,该脚本将在容器联机时启动服务。 其次,我看到该服务在本地系统许可下运行,并且听说过LocalService和NetworkService,所以问题是我的服务是否在本地服务或网络服务下运行,那么它可以自动启动吗? (我想到了许可,也许由于许可而导致服务无法启动) 所以,请帮助我摆脱这些问题
答案 0 :(得分:0)
我通过创建onboot.service.ps1脚本并将其设置在Dockerfile中的ENTRYPOINT上来解决此问题。
ENTRYPOINT ["powershell.exe", "C:\\Docker_onboot.services.ps1"]
该脚本中的内容是:
Start-Service -Name 'ServiceName'
我正在Amazone ECS中运行容器。
希望这项帮助