启动容器时,图像中的Windows服务无法自动启动

时间:2020-03-01 12:47:10

标签: windows containers

请帮助我, 我用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,所以问题是我的服务是否在本地服务或网络服务下运行,那么它可以自动启动吗? (我想到了许可,也许由于许可而导致服务无法启动) 所以,请帮助我摆脱这些问题

1 个答案:

答案 0 :(得分:0)

我通过创建onboot.service.ps1脚本并将其设置在Dockerfile中的ENTRYPOINT上来解决此问题。

ENTRYPOINT ["powershell.exe", "C:\\Docker_onboot.services.ps1"]

该脚本中的内容是:

Start-Service -Name 'ServiceName'

我正在Amazone ECS中运行容器。

希望这项帮助