首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Docker 打包 .NET 應用:Windows 容器與多階段建構指南

     編輯:程式設計綜合問答

目標:將 .NET Framework / .NET Core 應用打包為 Docker 映像,部署至 Windows Server 測試環境。

.NET Core / .NET 5+ (跨平台,推薦 Linux 容器)

# Dockerfile
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY *.csproj ./
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app

FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app .
ENTRYPOINT ["dotnet", "MyApp.dll"]

.NET Framework (僅限 Windows 容器)

# Dockerfile
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8 AS build
WORKDIR C:/src
COPY *.csproj ./
RUN nuget restore
COPY . .
RUN msbuild /p:Configuration=Release /p:OutputPath=C:/app

FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8
WORKDIR C:/inetpub/wwwroot
COPY --from=build C:/app .
# 需在容器內啟用 IIS、設定應用程式集區

Windows 宿主機操作流程

  1. 安裝 Docker Desktop for Windows,切換至 Windows containers 模式。
  2. 專案目錄開啟 PowerShell:
    docker build -t myapp .
  3. 執行測試:
    docker run -d -p 8080:80 myapp
  4. 推送至登錄 (ACR/Harbor) 供測試環境拉取。

參考資源

關鍵點:多階段建構減小映像、選對基礎映像 (Linux vs Windows)、.NET Framework 僅支援 Windows 容器。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved