天天看點

結合Docker Compose,将Nginx反向代理和負載均衡使用于ASP.NET 5應用

本文講的是<b>結合Docker Compose,将Nginx反向代理和負載均衡使用于ASP.NET 5應用</b>,【編者的話】該文章描述了Nginx在ASP.NET 5中的使用,它提供了一個運作在本地的負載均衡機制,并使用Docker Compose技術。

— Tugberk Ugurlu (@tourismgeek) 2016.1.26 在之前的.NET網頁開發中,我們不曾有這些選擇。舉個例子,你可以很熟練的在Mono項目中使用ASP.NET Web API應用,并暴露在Nginx的下層。但是,ASP.NET 5使這些選項可以真正的直接被采用。

<a href="http://dockerone.com/uploads/article/20160127/67ab968e0f4e63509baf450fab89950c.jpg" target="_blank"></a>

我有一個非常簡單的APS.NET 5應用,輸出一個Hello資訊,列出該主機上的環境變量。該項目結構如下:

這就是Docker下面運作ASP.NET 5的簡單的Dockerfile檔案,下面生成Docker鏡像并運作該鏡像:

該容器現在是以分離模式運作,你可以從主機通路HTTP終端。

<a href="http://dockerone.com/uploads/article/20160127/8d26242a2108a2655761a4a88345bcdf.png" target="_blank"></a>

現在,你可以對這個Container做任何你想要做的事情。重新編譯,停止,移除,等等。

有兩個很好的錄像,你可以看下有關Kerstrel和Linux主機。從視訊中可以知道為什麼把Kestrel放在一個Web伺服器後面。我強烈建議你在Linux中使用這些應用之前看下這些視訊錄像。 <a href="https://channel9.msdn.com/Events/ASPNET-Events/ASPNET-Fall-Sessions/ASPNET-5-Kestrel">ASP.NET 5: Kestrel</a> <a href="https://channel9.msdn.com/Events/ASPNET-Events/ASPNET-Fall-Sessions/ASPNET-5-Considerations-for-Production-Linux-Environments">ASP.NET 5: Considerations for Production Linux Environments</a>

ASP.NET 5 應用1: ASP.NET 5應用的一個執行個體

ASP.NET 5 應用2:另一個ASP.NET 5應用的執行個體

Nginx容器:一個Nginx程序,代理請求到ASP.NET 5應用

現在,我們都已經準備完畢,隻需要運作兩個docker-compose指令(在Docker Compose檔案的目錄下面)去啟動該應用并運作:

到目前,我們可以看到三個正在運作的容器,也可以從主機終端通路localhost:5000,可以看到負載被分發到兩台ASP.NET 5應用的容器上。

<a href="http://dockerone.com/uploads/article/20160127/1c4b3ecd5060f4adfdb53f08f689f5d1.gif" target="_blank"></a>

原文釋出時間為:2016-01-27

本文作者:夢中鶴 

本文來自雲栖社群合作夥伴DockerOne,了解相關資訊可以關注DockerOne。

原文标題:結合Docker Compose,将Nginx反向代理和負載均衡使用于ASP.NET 5應用