Выдаёт ошибку при подключении базы данных ASP.NET MVC Docker

При попытке подключить проект с БД ASP.NET MVC и Docker, возникает следующая ошибка "Microsoft.Data.SqlClient.SqlException: "A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)" " Версия .net 8.0, имя сервера SQL Server - DESKTOP-HT0STNP. Контейнер докер присутствует, правда он не был запущен с консоли, был запущен репозиторий DockerHub и контейнер в Docker Desktop. Строка подключения "Server=DESKTOP-HT0STNP;Database=EducationSystem;User=Admin123;Password=1234567;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True;encrypt=false"
Приложение разворачивается на ОС Windows Я использую MS SQL Server 2019 Что это может быть за ошибка???

Пробовал менять имя сервера, пробовал менять строку подключения, ничего не помогает

  • отредактировано, я изменил строку подключения на «Server=DESKTOP-HT0STNP,1433;Database=EducationSystem;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True;encrypt=false». У меня есть проверка подлинности Windows, теперь я получаю еще одну ошибку. Я немного изменил код в program.ks на этот

Я добавил EnableRetryOnFailure в program.cs.

выдает ошибку «Microsoft.EntityFrameworkCore.Storage.RetryLimitExceededException: «Превышено максимальное количество повторов (5) при выполнении операций с базой данных с помощью SqlServerRetryingExecutionStrategy». См. внутреннее исключение для самой последней ошибки.""

Более того, если я удалю Database.EnsureCreated() в DbContext, сайт включится, но все те страницы, которые используют базу данных, не будут включены.

когда я добавляю порт 1433 в брандмауэр Windows, я получаю сообщение об ошибке «Microsoft.Data.SqlClient.SqlException: «Произошла ошибка при входе в систему для пользователя «NT AUTHORITY\ANONYMOUS LOGIN».»

Не знаю что еще сделать, проверил соединение в SSMS и там соединения разрешены, фаервол включен если что

Возможно, проблема в том, что я не настроил контейнер на использование отдельных учетных данных пользователя или других подходящих механизмов аутентификации в докере.

Мой файл докер выглядит так `FROM mcr.microsoft.com/dotnet/aspnet:8.0-nanoserver-1809 AS base WORKDIR /app EXPOSE 8080 EXPOSE 8081

FROM mcr.microsoft.com/dotnet/sdk:8.0-nanoserver-1809 AS build ARG BUILD_CONFIGURATION=Release WORKDIR /src COPY ["SQLServerCourse/SQLServerCourse.csproj", "SQLServerCourse/"] COPY ["SQLServerCourse.DAL/SQLServerCourse.DAL.csproj", "SQLServerCourse.DAL/"] COPY ["SQLServerCourse.Domain/SQLServerCourse.Domain.csproj", "SQLServerCourse.Domain/"] COPY ["SQLServerCourse.Service/SQLServerCourse.Service.csproj", "SQLServerCourse.Service/"] RUN dotnet restore "./SQLServerCourse/./SQLServerCourse.csproj" COPY . . WORKDIR "/src/SQLServerCourse" RUN dotnet build "./SQLServerCourse.csproj" -c %BUILD_CONFIGURATION% -o /app/build

FROM build AS publish ARG BUILD_CONFIGURATION=Release RUN dotnet publish "./SQLServerCourse.csproj" -c %BUILD_CONFIGURATION% -o /app/publish /p:UseAppHost=false

FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "SQLServerCourse.dll"]`

Если это так. Как мне быть?


Ответы (0 шт):