溫馨提示×

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

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

Docker中怎么運(yùn)行ASP.NET Core 2.1

發(fā)布時(shí)間:2021-07-15 14:25:54 來(lái)源:億速云 閱讀:161 作者:Leah 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)Docker中怎么運(yùn)行ASP.NET Core 2.1,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1.新建一個(gè) ASP.NET Core 2.1 項(xiàng)目

Docker中怎么運(yùn)行ASP.NET Core 2.1

然后運(yùn)行一下項(xiàng)目,確保我們剛剛建立的項(xiàng)目可以正常運(yùn)行。

Docker中怎么運(yùn)行ASP.NET Core 2.1

2.編寫(xiě) Dockerfile

新建一個(gè)文本文件,命名為 Dockerfile

FROM microsoft/dotnet:2.1-aspnetcore-runtimeWORKDIR /appCOPY . .EXPOSE 80ENTRYPOINT ["dotnet", "AspNetCore.Docker.dll"]

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

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

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

Docker中怎么運(yùn)行ASP.NET Core 2.1

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

我們將鏡像命名為 :aspnetcoredocker

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

docker build -t aspnetcoredocker .

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

Windows:

文件名:build.bat

@echo offecho "Windows Docker build"cd ../AspNetCore.Docker

dotnet publish -c Release -o ../publishcd ../publishecho "publish success"docker build -t aspnetcoredocker .

文件名:Linux:

build.sh

#!/bin/bashecho Linux Docker buildcd ../AspNetCore.Docker

dotnet publish -c Release -o ../publishcd ../publishecho publish success

docker build -t aspnetcoredocker .

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

Docker中怎么運(yùn)行ASP.NET Core 2.1

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

./build.sh

Docker中怎么運(yùn)行ASP.NET Core 2.1

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

Docker中怎么運(yùn)行ASP.NET Core 2.1

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

4.運(yùn)行鏡像

通過(guò)命令運(yùn)行

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

--name:指定容器名稱(chēng)

-p:指定容器端口

-d:指定容器 后臺(tái)運(yùn)行

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

Docker中怎么運(yùn)行ASP.NET Core 2.1

我們也可以通過(guò) docker ps 命令,查詢(xún)我們正在運(yùn)行的容器:

Docker中怎么運(yùn)行ASP.NET Core 2.1

我們還可以通過(guò) docker logs <容器名稱(chēng)或者id>來(lái)查看啟動(dòng)日志:

Docker中怎么運(yùn)行ASP.NET Core 2.1

5.驗(yàn)證訪問(wèn)

我們可以通過(guò) curl命令來(lái)直接訪問(wèn)我們?nèi)萜鲉?dòng)的asp.net core 網(wǎng)站:

Docker中怎么運(yùn)行ASP.NET Core 2.1

或者直接通過(guò)瀏覽器訪問(wèn):

Docker中怎么運(yùn)行ASP.NET Core 2.1


看完上述內(nèi)容,你們對(duì)Docker中怎么運(yùn)行ASP.NET Core 2.1有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

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

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

AI