Я знаю, что этот вопрос был задан, но никто не отвечает на него.
Я создаю веб-API на Core 2.2 с токеном-носителем JWT. В запросе токена я добавил проверку, существует ли пользователь на нашем LDAP.
Все работает правильно на IIS и консольном приложении, но когда я запускаю с помощью Docker, я получаю:
"Unable to load DLL 'activeds.dll' or one of its dependencies: The specified module could not be found. (Exception from HRESULT: 0x8007007E)"
ошибка.
Если пользователь существует, все работает нормально, но когда пользователь не существует, я проверяю статус пользователя с помощью:
UserPrincipal oUserPrincipal = UserPrincipal.FindByIdentity (oPrincipalContext, sUserName);
Что вызвало ошибку выше.
Я новичок в докере. Я пытался играть с изображениями:
mcr.microsoft.com / DotNet / ядро / SDK
mcr.microsoft.com/dotnet/core/aspnet
Microsoft / aspnetcore-сборка
Во всех случаях один и тот же результат
Я выставил порты LDAP в файле Docker (или я думаю, что выставил) и все еще получаю ту же ошибку.
Мой текущий dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
EXPOSE 383
EXPOSE 636
FROM mcr.microsoft.com/dotnet/core/sdk AS build
WORKDIR /src
COPY ["USITWebApi/USITWebApi.csproj", "USITWebApi/"]
RUN dotnet restore "USITWebApi/USITWebApi.csproj"
COPY . .
WORKDIR "/src/USITWebApi"
RUN dotnet build "USITWebApi.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "USITWebApi.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "USITWebApi.dll"]
Я использую контейнеры Windows.
Я потратил три дня, пытаясь решить эту проблему. Если у вас есть идеи, пожалуйста, помогите мне решить эту проблему.