build-flow.api/Dockerfile
xiangning 1ab9621803 fix(docker): dotnet base 镜像用本地预拉缓存
devops 已 docker pull 完整缓存 sdk/aspnet:10.0,buildkit 用原始 mcr
地址 CACHED 命中,绕过 proxy 首次回源大镜像断流问题。
2026-07-17 13:24:56 +08:00

24 lines
953 B
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# BuildFlow API (.NET 10) 多阶段构建
# dotnet 基础镜像:devops 构建机本地已预拉完整缓存(docker pull mcr.microsoft.com/dotnet/sdk:10.0),
# buildkit 直接 CACHED 命中,无需联网。如构建机镜像被清理,需重新 docker pull 预热。
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src
# 先拷贝 sln 和 props,利用层缓存恢复 NuGet
COPY BuildFlow.slnx Directory.Build.props ./
COPY src/ ./src/
# 还原 + 发布 Host (含全部模块)
RUN dotnet publish src/BuildFlow.Host/BuildFlow.Host.csproj -c Release -o /app/publish /p:UseAppHost=false
# 运行时镜像(devops 本地已预拉缓存,buildkit CACHED 命中)
FROM mcr.microsoft.com/dotnet/aspnet:10.0
WORKDIR /app
COPY --from=build /app/publish ./
# 容器内监听 5667 (与 appsettings 一致), 但绑定 0.0.0.0 以便外部访问
ENV ASPNETCORE_URLS=http://0.0.0.0:5667
EXPOSE 5667
ENTRYPOINT ["dotnet", "BuildFlow.Host.dll"]