Я пытаюсь установить службу в контейнере докеров на Windows Server2016.
Просто разместите там сервис и Powershelling:
New-Service -Name Bob -StartupType Automatic -BinaryPathName .\SVCHost.exe
Добавляет сервис, но в контейнере получаю результат:
PS C:\Program Files\COMPANY\Repository> start-service -Name bob
start-service : Service 'bob (Bob)' cannot be started due to the following error: Cannot start service Bob on computer '.'.
At line:1 char:1
+ start-service -Name bob
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException
Я попытался создать пользователя и установить учетные данные стартового пользователя, но проблема та же.
Глядя на https://github.com/Microsoft/sql-server-samples/blob/master/samples/manage/windows-containers/mssql-server-2016-express-windows/dockerfile показывает, что они используют sqlexpress для установки службы.
Короче говоря ... Как мне зарегистрировать службу в контейнере Docker Windows Server 2016
-BinaryPathName
. Кроме того, образы MS используют службы Windows, потому что они традиционно работают в Windows. В Docker желательно запускать исполняемый файл на переднем плане и позволить Docker поместить контейнер в фоновый режим, запустив-d
. - person Elton Stoneman   schedule 05.10.2016