[英].Net Core 3.1 MSSQL backend in Docker setup: Docker-compose up producing connection failure
docker-compose.yml
version: "3.9"
services:
web:
build: .
ports:
- "8000:80"
container_name: web_application
depends_on:
- medicalmgr
medicalmgr:
image: "mcr.microsoft.com/mssql/server:2019-latest"
environment:
SA_PASSWORD: Pw@mm2021
ACCEPT_EULA: Y
ports:
- "1433:1433"
container_name: mmm_mmsql_2019
dockerfile
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
COPY . .
RUN dotnet restore && \
dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "MedicalManager.dll"]
Startup.cs 的
public void CofigureServices(..){
....
var server = Configuration["DBServer"] ?? "medicalmgr";
var port = Configuration["DBPort"] ?? "1433";
var user = Configuration["DBUser"] ?? "SA";
var password = Configuration["DBPassword"] ?? "Pw@mm2021";
var database = Configuration["Database"] ?? "MedicalManager";
//var connectionStr = $"Server={server},{port};Initial Catalog={database};User ID=
//{user};Password={password}";
var connectionStr =
@"Server=medicalmgr;Database=MedicalManager;User=sa;Password=Pw@mm2021;";
services.AddDbContext<MedicalManagerDBContext>(
options => options.UseSqlServer(connectionStr)
);}
錯誤:應用程序啟動異常:Microsoft.Data.SqlClient.SqlException (0x80131904):與 SQL 服務器建立連接時發生網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確,並且 SQL 服務器配置為允許遠程連接。 (提供者:TCP 提供者,錯誤:40 - 無法打開與 SQL 服務器的連接)
嘗試這個:
var connectionStr =
@"Data Source=localhost,1433;Initial Catalog=MedicalManager;User Id=sa;Password=Pw@mm2021";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.