小编Pim*_*Pim的帖子

.NET Core API 无法通过 docker-compose 连接到数据库

我正在使用 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)

sql-server containers docker .net-core docker-compose

6
推荐指数
1
解决办法
2220
查看次数