Не удается подключиться к базе данных tp SQL Server из приложения ASP.NET Core внутри контейнера Docker - PullRequest
0 голосов
/ 05 ноября 2019

Я создал приложение ASP.NET Core, которое будет использовать SQL Server в качестве бэкэнда, установленного на локальном компьютере. Я использую Visual Studio для разработки веб-приложения ASP.NET Core и могу без проблем подключаться к SQL Server, если я запускаю приложение через Visual Studio.

После развертывания приложения в контейнере Docker, приложениене может связаться с SQL Server, который установлен на хост-компьютере.

Я включил соединение «TCP» и включил порт в «Дополнительные параметры брандмауэра» на моем локальном компьютере. Я могу подключиться к SQL Server с IpAddress вместе с PORT (IpAddress, PORT)

Ниже приведена команда, которую я использую для развертывания образа внутри контейнера Docker:

docker run -d -p 5061:80 --name mycurrentserviceapicontainer mycurrentserviceapi --network="host"

Информация:

Я могу получить доступ к API, который не имеет подключения к БД, но API, который имеет функции, связанные с подключением к БД, вызывая проблему.

Проблема:

Истекло время ожидания соединения. Время ожидания истекло на этапе после входа в систему. Возможно, истекло время ожидания соединения, пока сервер завершит процесс входа в систему и ответит;Или это могло быть превышено время ожидания при попытке создать несколько активных соединений. Длительность попытки подключения к этому серверу составила - [Pre-Login] initialization = 5;квитирование = 435;[Логин] инициализация = 0;Аутентификация = 0;[Post-Login] complete = 14251;

Строка подключения:

Сервер = ipaddress, 49172; База данных = DockerDb; Пользователь = sa; Пароль = пароль; MultipleActiveResultSets =true

49172 - это порт TCP, который активировал этот порт во входящем правиле брандмауэра Windows и может подключаться через Sql Server Management Studio.

Я не уверен, почему я получаю эту проблему. Я искал много статей, ничего не помогло мне исправить эту проблему. Кто-нибудь сталкивался с этой проблемой? Пожалуйста, предоставьте свое предложение по этому вопросу.

Спасибо за ваше время.

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