You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core分层架构项目Docker化及数据库配置问题求助

ASP.NET Core分层架构项目Docker化及数据库配置问题求助

我刚接触Docker,完全搞不懂怎么给我的ASP.NET Core分层项目做镜像。我的项目分成了4个部分:API、领域层(Domain)、业务逻辑层(BLL)、数据访问层(DAL),根目录下每个以“Library”开头的文件夹里都有对应的.csproj文件。

现在我有两个核心困惑:一是Dockerfile该放在哪里,内容怎么写才合理?二是怎么搭配SQL Server数据库,让本地服务器能正常接收请求?

我试过的操作

一开始我把Dockerfile放在根目录,东拼西凑写了一段脚本,虽然能成功构建镜像、启动容器,但访问http://localhost:1433/时一直返回ERR_EMPTY_RESPONSE:

FROM mcr.microsoft.com/dotnet/sdk AS build

WORKDIR /app

COPY *.sln .

COPY ./LibraryAPI/*.csproj ./LibraryAPI/LibraryAPI.csproj

COPY ./Library.DAL/*.csproj ./Library.DAL/Library.DAL.csproj

COPY ./Library.BLL/*.csproj ./Library.BLL/Library.BLL.csproj

COPY ./Library.Domain/*.csproj ./Library.Domain/Library.Domain.csproj

RUN dotnet restore "./LibraryAPI/LibraryAPI.csproj"

COPY . ./

RUN dotnet publish -c release -o out

FROM mcr.microsoft.com/dotnet/aspnet

WORKDIR /app

COPY --from=build /app/out .

EXPOSE 1433

ENTRYPOINT ["dotnet", "LibraryAPI.dll"]

后来我把Dockerfile优化了一下,看起来简洁多了,但还是遇到同样的空响应问题:

FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build

WORKDIR /source

COPY . .

RUN dotnet restore "./LibraryAPI/LibraryAPI.csproj" --disable-parallel

RUN dotnet publish "./LibraryAPI/LibraryAPI.csproj" -c release -o /app --no-restore

FROM mcr.microsoft.com/dotnet/aspnet:7.0

WORKDIR /app

COPY --from=build /app ./

EXPOSE 5000

ENTRYPOINT ["dotnet","LibraryAPI.dll"]

我知道要完整解决方案有点贪心,但真的需要一些靠谱的建议:比如Dockerfile的结构怎么规划,还有怎么配置SQL Server数据库让请求能正常工作,麻烦各位大佬指点一下!


备注:内容来源于stack exchange,提问作者Telyonok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 10:19:05