建设一个ASP.NET Core Web应用措施,选中启用Docker支持。自动帮我们建设一个Dockerfile文件。
#ea676548c240e967bc0913a6e3c1db13#
2、编写Dockerfile文件dockerfile是一个文件名目标设置文件,用户可以利用dockerfile来快速构建自界说的镜像。由一行行呼吁语句构成,而且支持#开头的注释行。
dockerfile主题内容一般分为4部门
基本镜像信息
维护者信息利用label指令
镜像操纵指令
容器启动时执行指令
#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.0 AS base #WORKDIR /app #EXPOSE 80 #EXPOSE 443 # #FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build #WORKDIR /src #COPY ["AA.Mvc/AA.Mvc.csproj", "AA.Mvc/"] #RUN dotnet restore "AA.Mvc/AA.Mvc.csproj" #COPY . . #WORKDIR "/src/AA.Mvc" #RUN dotnet build "AA.Mvc.csproj" -c Release -o /app/build # #FROM build AS publish #RUN dotnet publish "AA.Mvc.csproj" -c Release -o /app/publish # #FROM base AS final #WORKDIR /app #COPY --from=publish /app/publish . #ENTRYPOINT ["dotnet", "AA.Mvc.dll"] # 父镜像 #FROM microsoft/aspnetcore:5.0 #FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS baseWORKDIR /app FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base ## 配置事情目次 #WORKDIR /app # ## 复制宣布文件到/app下 #COPY . /app # ## 配置端口 #EXPOSE 5005 EXPOSE 80 COPY . . # 利用AA.Mvc.dll来运行ASP.NET Core项目,留意巨细写 #ENTRYPOINT ["dotnet", "AA.Mvc.dll", "--server.urls", "http://*:5005"] ENTRYPOINT ["dotnet", "AA.Mvc.dll"]
dockerfile文件指令说明:
FROM -指定所建设镜像的基本镜像
WORKDIR-设置事情目次
EXPOSE-声明镜像内处事监听的端口
COPY-复制内容到镜像
ENTRYPOINT-启动镜像的默认人口呼吁
3、编译宣布web项目 4、构建镜像,运行容器并欣赏建设镜像,可以利用呼吁docker build,如下所示:
docker build -t core-mvc .
这步大概会慢一些,因为需要下载运行情况,请耐性期待
参数解析:
-t ---指定镜像名称
呼吁末了处.---暗示build上下文为当前目次,默认环境下docker会利用在上下文的根目次下找到Dockerfile文件
查察镜像列表,输入一下呼吁
docker images
建设并启动、查察容器
docker run --name netcore-mvc -d -p 50879:80 core-mvc docker ps -a
参数说明
-d ,暗示在靠山以守护态(daemonized)形式运行容器
-p 外部端口与内部容器端口映射。
--name 指定容器的名称。虽然可以不指定,默认会为我们建设
这里假如docker run失败后再次运行会提示名称已存在,可以利用以下呼吁来删除容器
docker rm -f netcore-mvc
最后一个参数 core-mvc 就是我们刚建设的镜像名称,颠末以上4个步调,在欣赏器中输入地点:50879/查察如图
至此一个完整的项目以手工的方法运行在docker容器中。
到此这篇关于.NET 5 陈设在docker上运行的要领的文章就先容到这了,更多相关.NET 5 陈设docker运行内容请搜索剧本之家以前的文章或继承欣赏下面的相关文章但愿各人今后多多支持剧本之家!
您大概感乐趣的文章: