簡體   English   中英

Docker容器中的.Net Core應用無法連接到SQL Server

[英].Net Core app in docker container can't connect to SQL Server

所以我知道已經有很多與此相關的問題,但是我認為目前我已經閱讀了所有問題,嘗試了所有建議,但仍未找到解決方案。

我有一個簡單的.Net核心MVC應用程序,具有與本地MSSQL數據庫的連接。 在容器中運行SQL時,我無法使其連接到SQL。我只是收到一個錯誤,指出無法建立連接。 在IIS Express中運行時,連接正常。

我的連接字符串是:

Data Source=10.11.56.36,1433;Initial Catalog=TestDB;Integrated Security=false;User id=testdb;Password=######;MultipleActiveResultSets=True

我的容器通過以下方式啟動:

docker run -it -p 8080:80 testing

這是到目前為止我嘗試過的事情:

  • 確保將SQL Server配置為接受遠程連接
  • 使用“ host.docker.internal”作為服務器名稱
  • 對SQL Server IP進行Ping操作以確保容器可以訪問它
  • 經過驗證的端口1433被允許通過防火牆
  • 嘗試了其他端口,並配置了SQL Server以偵聽該端口
  • 嘗試在連接字符串中不包含端口

在過去的幾個小時中,我還嘗試了許多其他事情,但我一點也沒有取得任何進展。 我想念什么?

任何幫助將不勝感激。

如果您運行的是Linux容器,請檢查此錯誤是否是導致錯誤的原因:

https://github.com/dotnet/corefx/issues/29147

如果是這樣,解決方法是將以下內容添加到dockerfile中的運行時映像中

RUN apk add --no-cache icu-libs
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false

我剛遇到這個問題。 我花了3天的時間,對我來說,解決方法是使用完全合格的域名。

MyServerName.MyDomain.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM