最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Docker部署ASP.NET?Core程序

 更新時間:2022年03月25日 08:52:36   作者:.NET開發(fā)菜鳥  
這篇文章介紹了使用Docker部署ASP.NET?Core程序的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、前言

這篇文章介紹如何將一個ASP.NET Core應(yīng)用程序在Docker中進(jìn)行部署。開發(fā)工具使用的是Visual Studio 2019和VS Code。

二、使用Docker部署

我們選擇新建一個MVC項目進(jìn)行演示。

1、新建MVC項目

模板選擇ASP.NET Core Web應(yīng)用程序,如下圖所示:

輸入項目名稱,點(diǎn)擊“創(chuàng)建”:

選擇Web應(yīng)用程序(模型視圖控制器),并勾選“啟用Docker支持”,如下圖所示:

然后會檢查Docker環(huán)境是否安裝,如下圖所示:

這樣一個MVC項目就創(chuàng)建完成了,會自動生成Dockerfile文件:

如果說創(chuàng)建項目的時候,沒有勾選“啟用Docker支持”,我們也可以在項目創(chuàng)建完成以后在添加Dockerfile文件,在項目上右鍵,選擇“添加”選項下面的“Docker支持”,如下圖所示:

然后選擇Linux系統(tǒng):

這樣也可以添加Dockerfile文件。

最簡單的創(chuàng)建Dockerfile文件的方式就是新建一個txt文件,然后重命名為Dockerfile即可。

2、編寫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文件如下:

# 使用運(yùn)行時鏡像
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
# 設(shè)置工作目錄
WORKDIR /app
# 把目錄下的內(nèi)容都復(fù)制到當(dāng)前目錄下
COPY . .
# 暴露80端口
EXPOSE 80
# 運(yùn)行鏡像入口命令和可執(zhí)行文件名稱
ENTRYPOINT ["dotnet", "DockerDemo.dll"]

修改Dockerfile文件的屬性,修改為始終復(fù)制:

這樣能保證Dockerfile可以隨程序一起發(fā)布。

3、生成鏡像

首先發(fā)布程序,程序發(fā)布成功以后,進(jìn)入到發(fā)布目錄,就可以生成鏡像,這里使用PowerShell。使用下面的命令生成鏡像:

docker build -t aspnetcoredocker .

其中aspnetcoredocker是鏡像名稱。

上面命令中最后英文狀態(tài)的.不能省略。

如下圖所示:

如果出現(xiàn)上圖所示的5步都成功,則表示鏡像生成成功了。 我們查看本地的鏡像:

可以看到,已經(jīng)有我們創(chuàng)建的鏡像了。我們也可以直接使用VS Code查看。VS Code需要安裝一個插件:

安裝完成以后,在左側(cè)就可以看到docker圖標(biāo)了:

使用這個插件,就可以看到本地當(dāng)前所有的鏡像:

4、運(yùn)行鏡像

上面鏡像構(gòu)建成功以后,我們就可以使用下面的命令來運(yùn)行鏡像:

docker run --name=aspnetcoredocker -p 6666:80 -d aspnetcoredocker
  •  --name :指定容器名稱。
  •  --p :指定容器端口。
  •  --d :指定容器后臺運(yùn)行。

如下圖所示:

出現(xiàn)下面的一長串字符串,則說明鏡像運(yùn)行成功。可以使用下面的命令查看正在運(yùn)行的容器:

docker ps

如下圖所示: 

可以看到,剛才創(chuàng)建的鏡像已經(jīng)在運(yùn)行。如果想更直觀的查看,可以在VS Code的插件里面查看:

 

綠色的三角表示正在運(yùn)行的容器,紅色的方框表示停止的容器。

5、驗證

容器運(yùn)行成功,我們在瀏覽器里面進(jìn)行訪問:

這樣一個簡單的示例程序就完成了。

到此這篇關(guān)于使用Docker部署ASP.NET Core程序的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

惠东县| 甘德县| 拉萨市| 江山市| 河北区| 南皮县| 新巴尔虎右旗| 惠安县| 简阳市| 朝阳区| 泰兴市| 兴城市| 诸城市| 北海市| 赣州市| 海盐县| 高唐县| 宾阳县| 百色市| 普兰县| 尉氏县| 辽阳市| 施秉县| 石狮市| 囊谦县| 偃师市| 新和县| 望谟县| 江油市| 永嘉县| 拉萨市| 普陀区| 佛冈县| 南开区| 万年县| 思茅市| 普格县| 鲜城| 孝昌县| 积石山| 磐安县|