我有一个容器托管 ASP.NET Core 应用程序,但它无法连接到远程服务器上的 SQL Server。
错误是:
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.
这是我已经检查过的:
所以我认为容器可以看到数据库服务器但无法连接。我还应该检查什么?
非常感谢您的帮助。
更新
Dockerfile:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 1433
#our sql server was use this port for connect
EXPOSE 64608
FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build
WORKDIR /src
COPY Web.API.sln ./
COPY MyProject.Core/*.csproj ./MyProject.Core/
COPY MyProject.API/*.csproj ./MyProject.API/
RUN dotnet restore
COPY . .
WORKDIR /src/MyProject.API
RUN dotnet build -c Release -o /app
FROM build AS publish
RUN dotnet publish -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "MyProject.API.dll"]
运行 Docker 命令:
docker build -t myproject-api:latest .
docker run -d -p 7991:80 --name myproject-api myproject-api:latest
连接字符串:
"data source=172.16.0.88\\SQL_DEV,64608; initial catalog=MyProject; persist security info=True; user id=myuser; password=mypassword;"
最佳答案
这很可能是因为连接字符串。
将您的连接字符串更改为如下所示
Server=172.16.0.88\\SQL_DEV,64608;Database=MyProject;UserId=myuser;Password=mypassword
或者
Server=172.16.0.88,64608;Database=MyProject;User Id=myuser;Password=mypassword
哪个有效。
关于sql-server - Docker 容器无法连接到远程服务器上的 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58901356/