Не могу подключиться к помещению SQL Сервер от ASP. NET Core 3.1 in Docker - PullRequest
0 голосов
/ 30 января 2020

Я создал ASP.NET MVC Core web app в VS 2019 with Docker support, добавил EF со строкой подключения:

Server=169.x.x.xx;Database=ca-v2-staging;User Id=ca-v2-staging;Password=xxxx

При отладке в IIS Web App нет проблем с подключением к базе данных, которая размещается удаленно, но при запуске с Docker веб-приложение просто зависает. Он не возвращает исключение, , просто висит .

Я пытался добавить порт в конце IP-адреса 169.xxxx, 1433 и выполнить код ниже, чтобы выяснить, открыт ли порт в Docker, и это так. Почему EF не может подключиться к базе данных?

using (var tcpClient = new System.Net.Sockets.TcpClient())
            {
                try
                {
                    tcpClient.Connect("169.x.x.xx", 1433);
                    Console.WriteLine("Port open");
                }
                catch (Exception)
                {
                    Console.WriteLine("Port closed");
                }
            }

Я использую Dockerfile по умолчанию, который создает VS 2019, и даже добавил EXPOSE 1433 1433, но не повезло.

1 Ответ

0 голосов
/ 30 января 2020

Кажется, проблема в SSL и Docker изображении. Переключение на изображение bioni c решает проблему. Подробнее об этом https://github.com/dotnet/SqlClient/issues/222

FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-bionic AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/core/sdk:3.0-bionic AS build
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...