溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在Docker中運行ASP.NET Core 2.1 項目

發(fā)布時間:2021-06-08 16:15:41 來源:億速云 閱讀:167 作者:Leah 欄目:開發(fā)技術(shù)

如何在Docker中運行ASP.NET Core 2.1 項目?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1.新建一個 ASP.NET Core 2.1 項目

如何在Docker中運行ASP.NET Core 2.1 項目

然后運行一下項目,確保我們剛剛建立的項目可以正常運行。

如何在Docker中運行ASP.NET Core 2.1 項目

2.編寫 Dockerfile

新建一個文本文件,命名為 Dockerfile

FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY . .
EXPOSE 80
ENTRYPOINT ["dotnet", "AspNetCore.Docker.dll"]

這里我們需要用到官方的鏡像:microsoft/dotnet:2.1-aspnetcore-runtime

如果要嘗試更小的鏡像,可以試試 microsoft/dotnet:2.1-aspnetcore-runtime-alpine ,這鏡像使用了alpine 一款精簡版極小的linux,但是隨之而來的就是閹割了一些功能,實際使用的時候需要測試,比如國際化支持,它默認(rèn)在這個鏡像里面沒有開啟,需要配置環(huán)境變量來開啟。

需要設(shè)置Dockerfile的如下屬性,保證其能復(fù)制到發(fā)布目錄:

如何在Docker中運行ASP.NET Core 2.1 項目

3.構(gòu)建Docker鏡像

我們將鏡像命名為 :aspnetcoredocker

進(jìn)入到發(fā)布文件目錄,執(zhí)行命令便可打包鏡像:

docker build -t aspnetcoredocker .

我們可以編寫 發(fā)布+構(gòu)建 的腳本。

Windows:

文件名:build.bat

@echo off

echo "Windows Docker build"

cd ../AspNetCore.Docker

dotnet publish -c Release -o ../publish

cd ../publish

echo "publish success"

docker build -t aspnetcoredocker .

文件名:Linux:

build.sh

#!/bin/bash

echo Linux Docker build

cd ../AspNetCore.Docker

dotnet publish -c Release -o ../publish

cd ../publish

echo publish success

docker build -t aspnetcoredocker .

文件夾結(jié)構(gòu)如下圖:

如何在Docker中運行ASP.NET Core 2.1 項目

執(zhí)行構(gòu)建:

./build.sh

如何在Docker中運行ASP.NET Core 2.1 項目

構(gòu)建成功后可以通過 docker images 命令查詢到我們構(gòu)建的鏡像:

如何在Docker中運行ASP.NET Core 2.1 項目

若在linux下執(zhí)行sh腳本時,遇到錯誤“-bash: ./build.sh: /bin/bash^M: bad interpreter: No such file or directory“,請通過vim/vi編輯sh腳本,按:建,輸入 set ff=unix,然后回車、wq保存即可

4.運行鏡像

通過命令運行

docker run --name=aspnetcoredocker -p 7777:80 -d aspnetcoredocker

--name:指定容器名稱

-p:指定容器端口

-d:指定容器 后臺運行

出現(xiàn)一長串字符串,便是表示運行成功:

如何在Docker中運行ASP.NET Core 2.1 項目

我們也可以通過 docker ps 命令,查詢我們正在運行的容器:

如何在Docker中運行ASP.NET Core 2.1 項目

我們還可以通過 docker logs <容器名稱或者id>來查看啟動日志:

如何在Docker中運行ASP.NET Core 2.1 項目

5.驗證訪問

我們可以通過 curl命令來直接訪問我們?nèi)萜鲉拥腶sp.net core 網(wǎng)站:

如何在Docker中運行ASP.NET Core 2.1 項目

或者直接通過瀏覽器訪問:

如何在Docker中運行ASP.NET Core 2.1 項目

關(guān)于如何在Docker中運行ASP.NET Core 2.1 項目問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI