ASP.NET Core 2.1 使用Docker運行的方法步驟
1.新建一個 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ā)布目錄:

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)如下圖:

執(zhí)行構(gòu)建:
./build.sh

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

若在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 ps 命令,查詢我們正在運行的容器:

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

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

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

至此,我們通過Docker運行asp.net core 2.1應(yīng)用程序就結(jié)束了。
6.資料
本文所用代碼:https://github.com/stulzq/BlogDemos/tree/master/AspNetCore.Docker
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解ASP.NET Core Docker部署
- Centos7+Docker+Jenkins+ASP.NET Core 2.0自動化發(fā)布與部署的實現(xiàn)
- Linux服務(wù)器下利用Docker部署.net Core項目的全過程
- ASP.NET Core+Docker+Jenkins實現(xiàn)持續(xù)集成的完整實例
- .Net Core自動化部署之利用docker版jenkins部署dotnetcore應(yīng)用的方法
- 詳解.NET Core+Docker 開發(fā)微服務(wù)
- docker部署Asp.net core應(yīng)用的完整步驟
- 詳解ASP.NET Core 網(wǎng)站在Docker中運行
- Docker容器運行ASP.NET Core的實現(xiàn)步驟
- Docker結(jié)合.Net Core的初步使用教程
相關(guān)文章
Queryable.Union 方法實現(xiàn)json格式的字符串合并的具體實例
這篇文章介紹了Queryable.Union 方法實現(xiàn)json格式的字符串合并的具體實例,有需要的朋友可以參考一下2013-10-10
.NET?Core配置連接字符串和獲取數(shù)據(jù)庫上下文實例
這篇文章介紹了.NET?Core配置連接字符串和獲取數(shù)據(jù)庫上下文實例的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01
ASP.net與SQLite數(shù)據(jù)庫通過js和ashx交互(連接和操作)
這篇文章主要介紹了ASP.net與SQLite數(shù)據(jù)庫通過js和ashx交互(連接和操作),具有一定的參考價值,有興趣的可以了解一下。2017-01-01
使用?HttpReports?監(jiān)控?.NET?Core?應(yīng)用程序的方法
這篇文章主要介紹了使用?HttpReports?監(jiān)控?.NET?Core?應(yīng)用程序的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
客戶端用JavaScript填充DropDownList控件 服務(wù)器端讀不到值
今天遇到一個奇怪的問題,某一頁面需要使用三級級聯(lián)下拉列表框。為提高用戶體驗,采用jQuery的cascadingDropDown插件調(diào)用后臺Web Services來實現(xiàn)ajax填充。2010-09-09
獲取轉(zhuǎn)向地址的URL的源文件(可自定義REFER)
獲取轉(zhuǎn)向地址的URL的源文件(可自定義REFER)...2006-09-09

