目標:將 .NET Framework / .NET Core 應用打包為 Docker 映像,部署至 Windows Server 測試環境。
# 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"]
# 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、設定應用程式集區
docker build -t myapp .docker run -d -p 8080:80 myapp關鍵點:多階段建構減小映像、選對基礎映像 (Linux vs Windows)、.NET Framework 僅支援 Windows 容器。