我正在使用 MSSQL Server 数据库开发 .NET 核心 Web API。我尝试将其容器化到 Docker 容器中,并使用 Docker Compose 来启动此服务。但是我的 API 无法连接到数据库。
出现以下错误:
应用程序启动异常:System.Data.SqlClient.SqlException (0x80131904):建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:TCP 提供程序,错误:40 - 无法打开与 SQL Server 的连接)
我的启动中的代码:
services.AddDbContext<ProductServiceDbContext>(options =>
options.UseSqlServer("server=sqlserver;port=1433;user id=sa;password=docker123!;database=ProductService;"));
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore dockerapi.csproj
COPY . ./
RUN dotnet publish dockerapi.csproj -c Release -o out
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS runtime
WORKDIR /app
COPY --from=build /app/out .
ENTRYPOINT ["dotnet", "dockerapi.dll"]`
Run Code Online (Sandbox Code Playgroud)
Docker-撰写:
version: '3.4'
services:
productservice:
image: productservice/api …Run Code Online (Sandbox Code Playgroud)