У меня есть экспериментальный проект, и я хочу запустить службу 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