如何在docker中部署一個(gè).NET 5 運(yùn)行環(huán)境?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
站在用戶的角度思考問題,與客戶深入溝通,找到馬鞍山網(wǎng)站設(shè)計(jì)與馬鞍山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋馬鞍山地區(qū)。創(chuàng)建一個(gè)ASP.NET Core Web應(yīng)用程序,選中啟用Docker支持。自動(dòng)幫我們創(chuàng)建一個(gè)Dockerfile文件。
dockerfile是一個(gè)文件格式的配置文件,用戶可以使用dockerfile來快速構(gòu)建自定義的鏡像。由一行行命令語句組成,并且支持#開頭的注釋行。
dockerfile主題內(nèi)容一般分為4部分
基礎(chǔ)鏡像信息
維護(hù)者信息使用label指令
鏡像操作指令
容器啟動(dòng)時(shí)執(zhí)行指令
#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 ## 設(shè)置工作目錄 #WORKDIR /app # ## 復(fù)制發(fā)布文件到/app下 #COPY . /app # ## 設(shè)置端口 #EXPOSE 5005 EXPOSE 80 COPY . . # 使用AA.Mvc.dll來運(yùn)行ASP.NET Core項(xiàng)目,注意大小寫 #ENTRYPOINT ["dotnet", "AA.Mvc.dll", "--server.urls", "http://*:5005"] ENTRYPOINT ["dotnet", "AA.Mvc.dll"]
dockerfile文件指令說明:
FROM -指定所創(chuàng)建鏡像的基礎(chǔ)鏡像
WORKDIR-配置工作目錄
EXPOSE-聲明鏡像內(nèi)服務(wù)監(jiān)聽的端口
COPY-復(fù)制內(nèi)容到鏡像
ENTRYPOINT-啟動(dòng)鏡像的默認(rèn)人口命令
創(chuàng)建鏡像,可以使用命令docker build,如下所示:
docker build -t core-mvc .
這步可能會(huì)慢一些,因?yàn)樾枰螺d運(yùn)行環(huán)境,請耐心等待
參數(shù)分解:
-t ---指定鏡像名稱
命令結(jié)尾處.---表示build上下文為當(dāng)前目錄,默認(rèn)情況下docker會(huì)使用在上下文的根目錄下找到Dockerfile文件
查看鏡像列表,輸入一下命令
docker images
創(chuàng)建并啟動(dòng)、查看容器
docker run --name netcore-mvc -d -p 50879:80 core-mvc docker ps -a
參數(shù)說明
-d ,表示在后臺(tái)以守護(hù)態(tài)(daemonized)形式運(yùn)行容器
-p 外部端口與內(nèi)部容器端口映射。
--name 指定容器的名稱。當(dāng)然可以不指定,默認(rèn)會(huì)為我們創(chuàng)建
這里如果docker run失敗后再次運(yùn)行會(huì)提示名稱已存在,可以使用以下命令來刪除容器
docker rm -f netcore-mvc
最后一個(gè)參數(shù) core-mvc 就是我們剛創(chuàng)建的鏡像名稱,經(jīng)過以上4個(gè)步驟,在瀏覽器中輸入地址http://localhost:50879/查看如圖
看完上述內(nèi)容,你們掌握如何在docker中部署一個(gè).NET 5 運(yùn)行環(huán)境的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
文章題目:如何在docker中部署一個(gè).NET5運(yùn)行環(huán)境-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://jinyejixie.com/article46/ghihg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、靜態(tài)網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容