Есть ли способ запустить aspnet_regiis.exe на Docker-контейнере - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть экспериментальный проект, и я хочу запустить службу Soap asp.net в Docker-контейнере.Я уже создал контейнер Windows и скопировал в него все необходимые файлы.Мой сервис использует шифрование строки подключения web.config.Когда я пытаюсь запустить службу, я получаю сообщение об ошибке ниже

docker run -d -p 8000: 80 --name my-service my-service

http://localhost:8000/MyService/MyService.asmx

Сообщение об ошибке синтаксического анализатора: не удалось расшифровать с помощью поставщика DataProtectionConfigurationProvider.Сообщение об ошибке от поставщика: ключ недействителен для использования в указанном состоянии.(Исключение из HRESULT: 0x8009000B)

Я пытался установить команду aspnet_regiis.exe -i внутри контейнера, и я получил ошибку ниже

Microsoft(R) ASP.NET RegIIS версия 4.0.30319.0 Утилита администрирования для установки и удаления ASP.NET на локальном компьютере.Авторское право (C) Microsoft Corporation.Все права защищены.Начните установку ASP.NET (4.0.30319.0).Эта опция не поддерживается в этой версии операционной системы.Вместо этого администраторам следует установить / удалить ASP.NET 4.5 с IIS8, используя диалоговое окно «Включение / выключение компонентов Windows», средство управления диспетчером сервера или средство командной строки dism.exe.Подробнее см. http://go.microsoft.com/fwlink/?LinkID=216771. Завершена установка ASP.NET (4.0.30319.0).

Я добавляю Dockerfile

FROM microsoft/iis
RUN powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot\* 

RUN mkdir C:\\MyService
COPY . c:\\MyService

RUN powershell -NoProfile -Command \
Import-module IISAdministration;

RUN dism /online /enable-feature /featurename:IIS-WebServerRole \
                             /featurename:IIS-WebServer \
                             /featurename:IIS-CommonHttpFeatures \
                             /featurename:IIS-StaticContent \
                             /featurename:IIS-DefaultDocument \
                             /featurename:IIS-DirectoryBrowsing \
                             /featurename:IIS-HttpErrors \
                             /featurename:IIS-ApplicationDevelopment \
                             /featurename:IIS-CGI \
                             /featurename:IIS-HealthAndDiagnostics \
                             /featurename:IIS-HttpLogging \
                             /featurename:IIS-Security \
                             /featurename:IIS-RequestFiltering \
                             /featurename:IIS-Performance \
                             /featurename:IIS-HttpCompressionStatic \
                             /featurename:IIS-WebServerManagementTools

ENTRYPOINT ["C:\\ServiceMonitor.exe", "w3svc"]

RUN powershell -Command Add-WindowsFeature NET-Framework-45-ASPNET
RUN powershell -Command Add-WindowsFeature Web-Asp-Net45

RUN powershell -Command Remove-Website -Name 'Default Web Site'
RUN powershell -Command New-Website -Name 'MyService' -Port 80 -PhysicalPath 'c:\MyService\' -ApplicationPool '.NET v4.5'

EXPOSE 80
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...