.NET 5 部署在docker上執行的方法
阿新 • • 發佈:2021-03-08
1、建立站點
建立一個ASP.NET Core Web應用程式,選中啟用docker支援。自動幫我們建立一個Dockerfile檔案。
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 informahttp://www.cppcns.comtion,plebgFNIdAOVyase 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.cshttp://www.cppcns.comproj" #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 #C程式設計客棧OPY --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個步驟,在瀏覽器中輸入地址http://localhost:50879/檢視如圖
至此一個完整的專案以手工的方式執行在docker容器中。
到此這篇關於.NET 5 部署在docker上執行的方法的文章就介紹到這了,更多相關.NET 5 部署docker執行內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!