您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)Docker中怎么運(yùn)行ASP.NET Core 2.1,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
然后運(yùn)行一下項(xiàng)目,確保我們剛剛建立的項(xiàng)目可以正常運(yùn)行。
新建一個(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ā)布目錄:
我們將鏡像命名為 :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)如下圖:
執(zhí)行構(gòu)建:
./build.sh
構(gòu)建成功后可以通過(guò) docker images
命令查詢(xún)到我們構(gòu)建的鏡像:
若在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保存即可
通過(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)行成功:
我們也可以通過(guò) docker ps
命令,查詢(xún)我們正在運(yùn)行的容器:
我們還可以通過(guò) docker logs <容器名稱(chēng)或者id>來(lái)查看啟動(dòng)日志:
我們可以通過(guò) curl
命令來(lái)直接訪問(wèn)我們?nèi)萜鲉?dòng)的asp.net core 網(wǎng)站:
或者直接通過(guò)瀏覽器訪問(wèn):
看完上述內(nèi)容,你們對(duì)Docker中怎么運(yùn)行ASP.NET Core 2.1有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(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)容。