Запуск созданной службы в Docker контейнере Windows
Задача.
Необходимо в контейнере windows (windows server core + .net framework runtime:4.8) создать службу стороннего приложения и запустить ее.
Есть приложение, написанное с использованием .net framework 4.7 которое запускается на выполнение в фоне как служба.
Сразу напишу, что на компьютере с win10 служба создается и запускается без проблем. И здесь же оговорюсь, что с powershell и cmd почти не работаю, поэтому некоторые приведенные ниже решения где-то некорректны.
Создал образ на базовом образе mcr.microsoft.com/dotnet/framework/runtime:4.8, скопировав в него папку с программой. Запускаю контейнер с powershell. Создаю службу через команду
New-Service -Name my_service -BinaryPathName 'C:\MyProgram\MyApp.exe' -DisplayName "My_Service"
Служба создалась. Отобразилось:
Status Name DisplayName
------ ---- -----------
Stopped my_service My_Service
Далее пытаюсь запустить службу:
Start-Service my_service
Постоянно получаю ошибку:
Start-Service : Service 'My_Service (my_service)' cannot be started due to the following error: Cannot start service my_service on computer '.'.
At line:1 char:1
+ Start-Service my_service
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException
+ FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceCommand
Текст ошибки из разряда: не удалось запустить службу потому что не удалось запустить службу. Гениально!...
Команда whoami выдает user manager\containeradministrator
В сети находил информацию, что скорее всего нужно запускать контейнер с powershell (подключаться к контейнеру) от имени администратора (привелегированного пользователя) командой docker exec --user ContainerAdministrator -it <container_id> powershell
Выдает ошибку
container a42ab468e23e9fcefae8cb2899421397e9d113041e85a58ad9b71840a99ad064 encountered an error during hcsshim::System::CreateProcess: failure in a Windows system call: The user name or password is incorrect. (0x52e)
[Event Detail: Provider: 00000000-0000-0000-0000-000000000000]
Насколько понимаю из ошибки: имя пользователя и пароль неверны. При этом, как использовать пароль, и какой он - непонятно.
Создавал внутри контейнера нового пользователя с правами админа - так же не могу зайти. Пишет такую же ошибку, что выше. Да и с паролем пользователя не понял, куда его вводить при входе.
И пробовал в контейнере от имени пользователя запустить Start-Process powershell -Verb runAs - вообще ничего не происходит.
Подскажите, пожалуйста, что я делаю не так, или в чем может быть проблема?