#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed. #For more information, please see https://aka.ms/containercompat
FROM mcr.microsoft.com/dotnet/aspnet:5.0AS base WORKDIR /app EXPOSE 80 EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:5.0AS build WORKDIR /src COPY ["dockerdemo/dockerdemo.csproj", "dockerdemo/"] RUN dotnet restore "dockerdemo/dockerdemo.csproj" COPY . . WORKDIR "/src/dockerdemo" RUN dotnet build "dockerdemo.csproj" -c Release -o /app/build
FROM build AS publish RUN dotnet publish "dockerdemo.csproj" -c Release -o /app/publish
FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "dockerdemo.dll"]
设置dockerfile文件属性 -【复制到输出目录】:始终复制
4、更改下主页文件(Index.cshtml)显示(此步骤可忽略,纯属作者测试显摆)
1 2 3 4 5 6 7 8 9
@{ ViewData["Title"] = "Home Page"; }
<divclass="text-center"> <h1class="display-4">Welcome</h1> <h1class="display-4">Congratulations, for publishing your project to docker and seeing this page in your browser.</h1> <p>Learn about <ahref="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p> </div>
5、右击项目重新生成解决方案无误后,在Release模式下,发布项目到本地文件夹
准备发布
6、在发布文件夹下,更改dockerfile文件如下
1 2 3 4 5 6 7 8 9
FROM mcr.microsoft.com/dotnet/aspnet:5.0AS base WORKDIR /app