日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET 5 部署在docker上运行

發(fā)布時間:2023/12/4 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET 5 部署在docker上运行 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、創(chuàng)建站點

創(chuàng)建一個ASP.NET Core Web應用程序,選中啟用Docker支持。自動幫我們創(chuàng)建一個Dockerfile文件。

2、編寫Dockerfile文件

dockerfile是一個文件格式的配置文件,用戶可以使用dockerfile來快速構(gòu)建自定義的鏡像。由一行行命令語句組成,并且支持#開頭的注釋行。

dockerfile主題內(nèi)容一般分為4部分

  • 基礎(chǔ)鏡像信息

  • 維護者信息使用label指令

  • 鏡像操作指令

  • 容器啟動時執(zhí)行指令

  • #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 /appFROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base ## 設(shè)置工作目錄 #WORKDIR /app # ## 復制發(fā)布文件到/app下 #COPY . /app # ## 設(shè)置端口 #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 -指定所創(chuàng)建鏡像的基礎(chǔ)鏡像

    • WORKDIR-配置工作目錄

    • EXPOSE-聲明鏡像內(nèi)服務監(jiān)聽的端口

    • COPY-復制內(nèi)容到鏡像

    • ENTRYPOINT-啟動鏡像的默認人口命令

    3、編譯發(fā)布web項目

    設(shè)置dockerfile文件輸出復制

    發(fā)布完成

    4、構(gòu)建鏡像,運行容器并瀏覽

    ?創(chuàng)建鏡像,可以使用命令docker build,如下所示:

    docker build -t core-mvc .

    這步可能會慢一些,因為需要下載運行環(huán)境,請耐心等待

    參數(shù)分解:

    • -t ---指定鏡像名稱

    • 命令結(jié)尾處?.?---表示build上下文為當前目錄,默認情況下docker會使用在上下文的根目錄下找到Dockerfile文件

    查看鏡像列表,輸入一下命令

    docker images

    創(chuàng)建并啟動、查看容器

    docker run --name netcore-mvc -d -p 50879:80 core-mvc docker ps -a

    ?參數(shù)說明

    • -d ,表示在后臺以守護態(tài)(daemonized)形式運行容器

    • -p 外部端口與內(nèi)部容器端口映射。

    • --name 指定容器的名稱。當然可以不指定,默認會為我們創(chuàng)建

    這里如果docker run失敗后再次運行會提示名稱已存在,可以使用以下命令來刪除容器

    docker rm -f netcore-mvc

    最后一個參數(shù) core-mvc 就是我們剛創(chuàng)建的鏡像名稱,經(jīng)過以上4個步驟,在瀏覽器中輸入地址http://localhost:50879/查看如圖

    至此一個完整的項目以手工的方式運行在docker容器中。??

    總結(jié)

    以上是生活随笔為你收集整理的.NET 5 部署在docker上运行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。