7
我使用帶有dotnet Core和EF Core的Mac的Visual Studio 2017。在Docker容器中設置mssql圖像後,我試圖添加連接字符串,但引發連接錯誤。我嘗試了不同的選項,如IP地址,容器名稱,主機名等作爲服務器名稱,但都沒有工作。Docker容器中sqlserver的連接字符串
"Default": "Server=172.17.0.2; Database=ERPDb; User=sa; Password =******;"
與容器名稱
"Default": "Server=ecstatic_hermann; Database=ERPDb; User=sa; Password=******;"
與主機名:
"Default": "Server=f45840a59623; Database=ERPDb; User=sa; Password=******;"
雖然通過連接在終端使用本地主機的連接成功
$ mssql -s localhost -p Technocrat123
Connecting to localhost...done
sql-cli version 0.6.2
Enter ".help" for usage hints.
但在運行時APPLICAT連接失敗。
感謝任何幫助。提前致謝。
如果使用本地主機則誤差
Login failed for user ''. Reason: An attempt to login using SQL authentication failed. Server is configured for Integrated authentication only.
是在容器內運行的sql服務器嗎?連接代碼是否也在容器中運行?如果對兩者都是,他們是在同一個網絡上,如果沒有,服務器的SQL端口是否暴露? –
@omu_negru sql服務器正在容器中運行。應用程序在機器內部運行,而不在容器內部。如何公開SQL端口?你能指導我嗎? – user2695433
通過將-p參數傳遞給docker run命令來公開該MySql端口:docker run -p 3306:3306 .......另外,將主機設置爲localhost,然後您可以通過運行docker來檢查端口是否被公開ps並檢查右側的端口部分。 –