您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何使用Docker部署ASP.NET Core程序,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
這篇文章介紹如何將一個ASP.NET Core應用程序在Docker中進行部署。開發工具使用的是Visual Studio 2019和VS Code。
我們選擇新建一個MVC項目進行演示。
模板選擇ASP.NET Core Web應用程序,如下圖所示:
輸入項目名稱,點擊“創建”:
選擇Web應用程序(模型視圖控制器),并勾選“啟用Docker支持”,如下圖所示:
然后會檢查Docker環境是否安裝,如下圖所示:
這樣一個MVC項目就創建完成了,會自動生成Dockerfile文件:
如果說創建項目的時候,沒有勾選“啟用Docker支持”,我們也可以在項目創建完成以后在添加Dockerfile文件,在項目上右鍵,選擇“添加”選項下面的“Docker支持”,如下圖所示:
然后選擇Linux系統:
這樣也可以添加Dockerfile文件。
最簡單的創建Dockerfile文件的方式就是新建一個txt文件,然后重命名為Dockerfile即可。
我們看看自動生成的Dockerfile文件:
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 80 FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build WORKDIR /src COPY ["DockerDemo/DockerDemo.csproj", "DockerDemo/"] RUN dotnet restore "DockerDemo/DockerDemo.csproj" COPY . . WORKDIR "/src/DockerDemo" RUN dotnet build "DockerDemo.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "DockerDemo.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "DockerDemo.dll"]
可以看到這里有build和publish命令,自動生成的Dockerfile文件可能會有一些錯誤,所以我們自己編寫一份Dockerfile文件,修改后的Dockerfile文件如下:
# 使用運行時鏡像 FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim # 設置工作目錄 WORKDIR /app # 把目錄下的內容都復制到當前目錄下 COPY . . # 暴露80端口 EXPOSE 80 # 運行鏡像入口命令和可執行文件名稱 ENTRYPOINT ["dotnet", "DockerDemo.dll"]
修改Dockerfile文件的屬性,修改為始終復制:
這樣能保證Dockerfile可以隨程序一起發布。
首先發布程序,程序發布成功以后,進入到發布目錄,就可以生成鏡像,這里使用PowerShell。使用下面的命令生成鏡像:
docker build -t aspnetcoredocker .
其中aspnetcoredocker是鏡像名稱。
上面命令中最后英文狀態的.不能省略。
如下圖所示:
如果出現上圖所示的5步都成功,則表示鏡像生成成功了。 我們查看本地的鏡像:
可以看到,已經有我們創建的鏡像了。我們也可以直接使用VS Code查看。VS Code需要安裝一個插件:
安裝完成以后,在左側就可以看到docker圖標了:
使用這個插件,就可以看到本地當前所有的鏡像:
上面鏡像構建成功以后,我們就可以使用下面的命令來運行鏡像:
docker run --name=aspnetcoredocker -p 6666:80 -d aspnetcoredocker
--name :指定容器名稱。
--p :指定容器端口。
--d :指定容器后臺運行。
如下圖所示:
出現下面的一長串字符串,則說明鏡像運行成功。可以使用下面的命令查看正在運行的容器:
docker ps
如下圖所示:
可以看到,剛才創建的鏡像已經在運行。如果想更直觀的查看,可以在VS Code的插件里面查看:
綠色的三角表示正在運行的容器,紅色的方框表示停止的容器。
容器運行成功,我們在瀏覽器里面進行訪問:
這樣一個簡單的示例程序就完成了。
關于“如何使用Docker部署ASP.NET Core程序”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。