.Net?Core部署Docker容器
閱讀本文需要一定的docker基礎(chǔ)知識。
前置工作
首先新建一個core項(xiàng)目,需要注意的是在這個界面最好勾選一下docker支持:
項(xiàng)目創(chuàng)建完成以后,你會在目錄中發(fā)現(xiàn)Dockerfile。
你可以把它理解為docker的配置文件,docker通過讀取它來創(chuàng)建鏡像。如果新建項(xiàng)目的時候沒有勾選docker支持不會自動生成,但也可以手動創(chuàng)建,影響不大。
接下來修改dockerfile的內(nèi)容,像這樣:
//表示以microsoft/aspnetcore作為基礎(chǔ)鏡像進(jìn)行新鏡像的構(gòu)建 FROM microsoft/aspnetcore //指定工作目錄為/app WORKDIR /app //將Dockerfile所在目錄的所有文件拷貝到容器的app目錄下,最前面的點(diǎn)代表Dockerfile所在的目錄(注意點(diǎn)后面有空格) COPY . /app //端口,多個端口以空格分割 EXPOSE 80 //指定執(zhí)行程序 ENTRYPOINT ["dotnet","WebApplication1.dll"]
dockerfile語法是通用的,網(wǎng)上也有很多,就不在這里贅述了。
接下來把項(xiàng)目發(fā)布到文件,然后把dockerfile拷貝到發(fā)布根目錄下。如果頻繁操作覺得麻煩的話,就在屬性里把它改為“始終復(fù)制”,避免手動復(fù)制。
docker操作
首先下載官方鏡像:
docker pull microsoft/aspnetcore
切換到程序發(fā)布的目錄(含有dockerfile的目錄),執(zhí)行這一串:
docker build -t mycore . //千萬帶上這個點(diǎn)
這種情況就是成功了。再拉出鏡像列表來看,就會多出一個mycore鏡像就是我們剛才build上去的:
在mycore里運(yùn)行一個容器,起名core01:
docker run -itd -p 80:80 --name core01 mycore
再來查看一下容器的運(yùn)行狀態(tài):
能看到我們的core01已經(jīng)穩(wěn)穩(wěn)的在運(yùn)行了,到這里就算是部署成功。
最后驗(yàn)證一下。現(xiàn)在打開瀏覽器,看看是否能夠訪問本地:
最后一句
剛才build出來的鏡像也可以上傳到遠(yuǎn)程鏡像倉庫,需要部署時直接docker pull下來,方便快捷還不容易出錯。關(guān)于鏡像倉庫的問題我會再發(fā)文的。
到此這篇關(guān)于.Net Core部署Docker容器的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- .NET 5 部署在docker上運(yùn)行的方法
- Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析
- 部署.Net6項(xiàng)目到docker
- Docker部署Mysql,.Net6,Sqlserver等容器
- ASP.NET Core開發(fā)Docker部署
- 使用Docker部署ASP.NET?Core程序
- .Net項(xiàng)目在Docker容器中開發(fā)部署
- .NET?6?從0到1使用Docker部署至Linux環(huán)境超詳細(xì)教程
- Linux系統(tǒng)docker部署.net?core3.1的詳細(xì)步驟
- .NET?8?部署到?Docker的詳細(xì)過程
- .Net8項(xiàng)目使用docker、docker-compose部署的圖文步驟
相關(guān)文章
ASP.NET樣板項(xiàng)目ABP框架的特性總結(jié)
這篇文章主要介紹了ASP.NET樣板項(xiàng)目ABP框架的特性總結(jié),ABP框架基于ASP.NET框架,用于開發(fā)Web應(yīng)用程序,需要的朋友可以參考下2016-06-06- 方法(Method)是一個已命名的語句集。如果以前使用過其他編程語言,如C或Visual Basic等,就可以將方法視為函數(shù)或者子程序相似的東西。每個方法都有一個名稱和一個主體。方法名應(yīng)該是一個有意義的標(biāo)識符,它應(yīng)描述出方法的用途(如CalculateIncomeTax)。方法主體包含了調(diào)用方法時實(shí)際執(zhí)行的語句。你可以為大多數(shù)方法提供一些數(shù)據(jù)來進(jìn)行處理,并讓它返回一些信息(通常是處理結(jié)果)。方法是一種基本的、功能強(qiáng)大的編程機(jī)制。2008-04-04
asp.net平臺下C#實(shí)現(xiàn)Socket通信
這篇文章介紹了asp.net平臺下C#實(shí)現(xiàn)Socket通信的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01asp.net FindControl方法誤區(qū)和解析
在ASP.NET中Control都有一個FindControl方法,其作用是根據(jù)ID(注意既不是UniqueID也不是ClientID)在Control所在的命名容器中尋找相應(yīng)控件,但實(shí)際使用中存在很多誤區(qū)和陷阱,下面談?wù)剛€人對此的理解2012-01-01asp.net(C#) Access 數(shù)據(jù)操作類
asp.net(C#) Access 數(shù)據(jù)操作類 實(shí)現(xiàn)代碼,有需要這方面的朋友可以熟悉下。2009-06-06