无法连接 docker 容器内的 SQLServer

时间:2021-02-05 09:57:13

标签: sql-server docker .net-core

我正在创建一个容器,其中包含一个基于微软官方镜像的 .net 核心应用程序。

当应用程序尝试连接到 SQL 服务器时,我收到以下错误,它只发生在容器内部:已成功与服务器建立连接,但在登录前握手期间发生错误. (提供者:SSL 提供者,错误:31 - 加密(ssl/tls)握手失败)

我的应用程序使用以下包与 sqlserver 通信:

  • System.Data.SqlClient 4.8.2
  • Dapper 2.0.78

我的连接字符串如下所示:

Data Source=xxx.xxx.xxx.xxx;Initial Catalog=XXXXXXXX;User ID=XXXXX;Password=XXXX;MultipleActiveResultSets=True;Connect Timeout=60;TrustServerCertificate=true

我的 docker 版本是当时最新可用的:“Docker 版本 20.10.2,构建 2291f61”正在 Windows 上运行,这就是我创建 docher 映像的方式:

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build-env
WORKDIR /prj

COPY . .
RUN dotnet publish myapp.csproj -o /app 

FROM mcr.microsoft.com/dotnet/aspnet:3.1
WORKDIR /app

RUN update-ca-certificates --fresh

COPY --from=build-env /app .
ENTRYPOINT ["dotnet", "myapp.dll"]

我已经在谷歌上搜索了一段时间,但没有找到适合我的解决方案,有人可以帮忙吗?

0 个答案:

没有答案