将ASP.NET Core应用运行在基于CentOS的Docker容器

发布一下 0 0

  使用 Visual Studio 创建的Web应用程序,“启用 Docker”,默认情况下,这会生成一个基于 Debian 的 dockerfile(mcr.microsoft.com/dotnet/aspnetcore:6.0 映像是基于 Debian 的,除非您选择不同的标签),如下所示:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS baseWORKDIR /appEXPOSE 80FROM mcr.microsoft.com/dotnet/sdk:6.0 AS buildWORKDIR /srcCOPY ["WebApplication1.csproj", "."]RUN dotnet restore "./WebApplication1.csproj"COPY . .WORKDIR "/src/."RUN dotnet build "WebApplication1.csproj" -c Release -o /app/buildFROM build AS publishRUN dotnet publish "WebApplication1.csproj" -c Release -o /app/publishFROM base AS finalWORKDIR /appCOPY --from=publish /app/publish .ENTRYPOINT ["dotnet", "WebApplication1.dll"]

如果需要构建基于CentOS的镜像,将dockerfile内容修改如下:

FROM centos:7 AS base# Add Microsoft package repository and install ASP.NET CoreRUN rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm \    && yum install -y aspnetcore-runtime-6.0# Ensure we listen on any IP Address ENV DOTNET_URLS=http://+:5000WORKDIR /app# ... remainder of dockerfile as beforeFROM mcr.microsoft.com/dotnet/sdk:6.0 AS buildWORKDIR /srcCOPY ["WebApplication1.csproj", "."]RUN dotnet restore "./WebApplication1.csproj"COPY . .WORKDIR "/src/."RUN dotnet build "WebApplication1.csproj" -c Release -o /app/buildFROM build AS publishRUN dotnet publish "WebApplication1.csproj" -c Release -o /app/publishFROM base AS finalWORKDIR /appCOPY --from=publish /app/publish .ENTRYPOINT ["dotnet", "WebApplication1.dll"]

构建 Docker 映像,并运行应用程序:

docker build -t centos-test .docker run --rm -p 8000:5000 centos-test

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/113560.html