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 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-mvcdocker ps -a

引數說明
-
-d ,表示在后臺以守護態(daemonized)形式運行容器
-
-p 外部埠與內部容器埠映射,
-
--name 指定容器的名稱,當然可以不指定,默認會為我們創建
這里如果docker run失敗后再次運行會提示名稱已存在,可以使用以下命令來洗掉容器
docker rm -f netcore-mvc
最后一個引數 core-mvc 就是我們剛創建的鏡像名稱,經過以上4個步驟,在瀏覽器中輸入地址http://localhost:50879/查看如圖

至此一個完整的專案以手工的方式運行在docker容器中,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/265241.html
標籤:.NET Core
