Docker容器運(yùn)行ASP.NETCore的實(shí)現(xiàn)步驟

最近要學(xué)習(xí)的知識(shí)太多,都不知道先學(xué)哪些了,原本計(jì)劃這篇博客是寫(xiě)xamarin.forms中的listview用法,關(guān)于listview的用法簡(jiǎn)書(shū)上有一篇介紹的也比較詳細(xì),所以暫時(shí)先緩一緩,屬于次要任務(wù),等以后再寫(xiě)。本周在萬(wàn)能的淘寶找了寫(xiě)關(guān)于區(qū)塊鏈的教程,同時(shí)了解了下.net core。最近一兩年對(duì)C#技術(shù)跟進(jìn)不多,側(cè)重點(diǎn)是Java,之前出.net core1.0的時(shí)候覺(jué)得.net core還不完善,所以就沒(méi)學(xué),沒(méi)想到.net core這么快已經(jīng)要到3.0了。畢竟自己是C#出身,一精多轉(zhuǎn),不能忘本,所以計(jì)劃在未來(lái)一段時(shí)間把.net core也了解一下,大致看了一下,與.net的部分也是有很多交集,可能最大的特點(diǎn)就是跨平臺(tái)部分。本篇先介紹下使用docker運(yùn)行asp.net core應(yīng)用。

成都創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、鄲城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為鄲城等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

一、新建asp.net core應(yīng)用

這里新建了一個(gè)myWebApp的asp.net core的應(yīng)用。

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

二、添加docker支持

添加docker支持有兩種方式,一是在新建項(xiàng)目時(shí)設(shè)置啟用docker支持,二是在已創(chuàng)建的項(xiàng)目上右鍵->添加->docker支持。

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

同時(shí)需要選擇是window平臺(tái)還是linux平臺(tái),如果是window系統(tǒng)就需要設(shè)置window平臺(tái),同時(shí)docker也需要設(shè)置為window containers。如下圖報(bào)image operating system "windows" cannot be used on this platform錯(cuò)誤,就是由于選擇的平臺(tái)不對(duì)。

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

三、創(chuàng)建docker鏡像

添加docker支持后會(huì)自動(dòng)生成dockerfile文件,這里有一個(gè)坑,在COPY ["myWebApp/myWebApp.csproj", "myWebApp/"]行中需要注意是myWebApp/myWebApp.csproj,是myWebApp目錄下的myWebApp.csproj工程文件,所以需要把創(chuàng)建好的dockerfile拷貝到工程文件目錄下。

#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 microsoft/dotnet:2.2-aspnetcore-runtime-nanoserver-sac2016 AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/dotnet:2.2-sdk-nanoserver-sac2016 AS build
WORKDIR /src
COPY ["myWebApp/myWebApp.csproj", "myWebApp/"]
RUN dotnet restore "myWebApp/myWebApp.csproj"
COPY . .
WORKDIR "/src/myWebApp"
RUN dotnet build "myWebApp.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "myWebApp.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "myWebApp.dll"]

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

在項(xiàng)目目錄下使用docker命令build生成docker鏡像,docker build -t aspnetdemo .,(aspnetdemo后面有個(gè).,表示dockerfile路徑)。這里build了一個(gè)aspnetdemo的鏡像,由于首次運(yùn)行dockerfile,一些.net core基礎(chǔ)鏡像需要下載,而且家里網(wǎng)速也比較慢,下載的過(guò)程等了好久。

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

四、啟動(dòng)容器

在第三步鏡像已經(jīng)創(chuàng)建完成,使用docker images可以看到已創(chuàng)建好的鏡像,然后就是使用docker run啟動(dòng)容器運(yùn)行.net core應(yīng)用。

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

在瀏覽器中山輸入 http://localhost:8080/ ,可以看到如下頁(yè)面。

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

微軟官方文檔寫(xiě)使用 Windows 容器時(shí),必須直接在瀏覽器中轉(zhuǎn)到容器 IP 地址,這里使用了-p映射了端口,所以直接輸入 http://localhost:8080/ 是可以訪(fǎng)問(wèn)的。

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

下面使用ipconfig查找容器映射的docker的ip,然后在瀏覽器輸入docker的ip也是可以訪(fǎng)問(wèn)。

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

五、小結(jié)

本篇只是簡(jiǎn)單介紹了docker部署asp.net core應(yīng)用,.后續(xù)net core可能會(huì)連數(shù)據(jù)庫(kù)、redis等容器,那樣就涉及到容器互聯(lián),容器編排技術(shù)以及devops持續(xù)集成,往后擴(kuò)展又可以擴(kuò)展好多,這些以后慢慢學(xué)。

本文標(biāo)題:Docker容器運(yùn)行ASP.NETCore的實(shí)現(xiàn)步驟
URL鏈接:http://bm7419.com/article32/igecsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、、自適應(yīng)網(wǎng)站云服務(wù)器、網(wǎng)站改版標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)