ASP.NET Core 2.1 使用Docker运行
1.新建一個 ASP.NET Core 2.1 項目
然后運行一下項目,確保我們剛剛建立的項目可以正常運行。
2.編寫 Dockerfile
新建一個文本文件,命名為?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?一款精簡版極小的linux,但是隨之而來的就是閹割了一些功能,實際使用的時候需要測試,比如國際化支持,它默認在這個鏡像里面沒有開啟,需要配置環境變量來開啟。
需要設置Dockerfile的如下屬性,保證其能復制到發布目錄:
3.構建Docker鏡像
我們將鏡像命名為 :aspnetcoredocker
進入到發布文件目錄,執行命令便可打包鏡像:
docker build -t aspnetcoredocker .我們可以編寫 發布+構建 的腳本。
Windows:
文件名:build.bat
@echo offecho "Windows Docker build"cd ../AspNetCore.Dockerdotnet publish -c Release -o ../publishcd ../publishecho "publish success"docker build -t aspnetcoredocker .文件名:Linux:
build.sh
echo Linux Docker buildcd ../AspNetCore.Dockerdotnet publish -c Release -o ../publishcd ../publishecho publish successdocker build -t aspnetcoredocker .文件夾結構如下圖:
執行構建:
./build.sh
構建成功后可以通過?docker images?命令查詢到我們構建的鏡像:
若在linux下執行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:指定容器 后臺運行
出現一長串字符串,便是表示運行成功:
我們也可以通過?docker ps?命令,查詢我們正在運行的容器:
我們還可以通過 docker logs <容器名稱或者id>來查看啟動日志:
5.驗證訪問
我們可以通過?curl命令來直接訪問我們容器啟動的asp.net core 網站:
或者直接通過瀏覽器訪問:
至此,我們通過Docker運行asp.net core 2.1應用程序就結束了。
6.資料
本文所用代碼:https://github.com/stulzq/BlogDemos/tree/master/AspNetCore.Docker
原文地址:https://www.cnblogs.com/stulzq/p/9201830.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的ASP.NET Core 2.1 使用Docker运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 C# 代码实现拓扑排序
- 下一篇: GitHub宣布GitHub Educa