Windows Сервис в Azure Контейнер не запускается - PullRequest
0 голосов
/ 21 апреля 2020

Я работаю над ПО C для запуска службы windows в Azure Экземпляре контейнера. Я создал docker контейнеры, которые запускают наш сервис на основе windows: 1809 и servercore: ltsc2019. Когда я запускаю образ локально, используя docker, служба запускается и работает правильно. Я запускаю контейнер локально, используя изоляцию Hyper-V. Я загрузил изображения в мой реестр контейнера Azure и создал их экземпляры, но при запуске контейнера служба не запускается. Служба установлена, но не в рабочем состоянии.

Служба установлена ​​и должна запускаться при запуске контейнера.

PS C:\> Get-Service My*
Status   Name               DisplayName
------   ----               -----------
Stopped  MyService      My Service

Если я пытаюсь запустить службу из командной строки Я получаю эту ошибку:

PS C:\> Start-Service MyService
Start-Service : Service 'My Service (MyService)' cannot be
started due to the following error: Cannot start service MyService on
computer '.'.
At line:1 char:1
+ Start-Service MyService
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.ServiceProcess.ServiceControl
   ler:ServiceController) [Start-Service], ServiceCommandException
    + FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Comman
   ds.StartServiceCommand

Если я использую команду net, я получаю следующее:

PS C:\> net start MyService
The service is not responding to the control function.

В журнале событий есть ошибка 1053 с сообщением о том, что истекло время ожидания через 30 секунд. Я запустил start-service из командной строки, и запись в журнале не заняла 30 секунд, она добавляется практически сразу. Я запустил команду запуска с помощью ContainerAdministrator, затем добавил ContainerAdministrator к локальным администраторам и провел сеанс PowerShell в качестве другого локального администратора с теми же результатами.

Вот журнал событий:

PS C:\> $A = Get-EventLog -LogName system -Newest 7
PS C:\> $A | Select-Object -Property *
EventID            : 7000
MachineName        : wk-caas-28c951151b41452385daba69f308873d-bd43b2406c94ac918
                     8077a
Data               : {80, 0, 51, 0...}
Index              : 1126
Category           : (0)
CategoryNumber     : 0
EntryType          : Error
Message            : The My Service service failed to start due
                     to the following error:
                     %%1053
Source             : Service Control Manager
ReplacementStrings : {My Service, %%1053}
InstanceId         : 3221232472
TimeGenerated      : 4/16/2020 8:46:09 PM
TimeWritten        : 4/16/2020 8:46:09 PM
UserName           :
Site               :
Container          :

EventID            : 7009
MachineName        : wk-caas-28c951151b41452385daba69f308873d-bd43b2406c94ac918
                     8077a
Data               : {80, 0, 51, 0...}
Index              : 1125
Category           : (0)
CategoryNumber     : 0
EntryType          : Error
Message            : A timeout was reached (30000 milliseconds) while waiting
                     for the My Service service to connect.
Source             : Service Control Manager
ReplacementStrings : {30000, My Service}
InstanceId         : 3221232481
CimeGenerated      : 4/16/2020 8:46:09 PM
TimeWritten        : 4/16/2020 8:46:09 PM
UserName           :
Site               :
Container          :

Я новичок в docker, контейнерах и Azure и не могу найти причину, по которой моя служба не отвечает своевременно или почему запись в журнале будет добавлена ​​менее чем за 30 секунд, в течение которых отчет сообщает, любые идеи будут с благодарностью.

...