C# 无法从Docker中的ASP.NET Core 3.1连接到本地SQL Server
我已经创建了C# 无法从Docker中的ASP.NET Core 3.1连接到本地SQL Server,c#,docker,asp.net-core,dockerfile,C#,Docker,Asp.net Core,Dockerfile,我已经创建了ASP.NET MVC核心web应用程序,在VS 2019中使用Docker支持,添加了带有连接字符串的EF: Server=169.x.x.xx;Database=ca-v2-staging;User Id=ca-v2-staging;Password=xxxx 当在IIS Web应用程序上调试时,连接到远程托管的数据库没有问题,但当我从Docker运行时,Web应用程序只是挂起。它不返回异常,它只是挂起 我试图在IP地址169.x.x.xx,1433的末尾添加端口,并执行下面的
ASP.NET MVC核心web应用程序
,在VS 2019中使用Docker支持
,添加了带有连接字符串的EF:
Server=169.x.x.xx;Database=ca-v2-staging;User Id=ca-v2-staging;Password=xxxx
当在IIS Web应用程序上调试时,连接到远程托管的数据库没有问题,但当我从Docker运行时,Web应用程序只是挂起。它不返回异常,它只是挂起
我试图在IP地址169.x.x.xx,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");
}
}
我使用VS2019创建的默认Dockerfile,甚至添加了EXPOSE 1433 1433,但运气不好。问题似乎出在SSL和Docker映像上。更改为仿生图像可以解决此问题。更多关于这个
您是否尝试过在不同的机器上运行应用程序,可能是在不同的网络上?
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