从头开始学eShopOnContainers——Visual Studio 2017环境配置
一、安裝和配置Docker環(huán)境
1、安裝Docker CE for Windows
從官方網(wǎng)站下載并安裝,https://docs.docker.com/docker-for-windows/install/。默認(rèn)情況下Docker for Windows使用Hyper-V運(yùn)行Linux VM。?如果您沒(méi)有安裝/啟用Hyper-V,它將被安裝,您可能需要重新啟動(dòng)計(jì)算機(jī)。
注意:?您需要檢查是否安裝了其它可能與Hyper-V不兼容的虛擬機(jī)管理程序。例如:基于Intel HAXM技術(shù)的Google's Android模擬器,目前此模擬器和Hyper-V不兼容。
2、將所需的內(nèi)存和CPU設(shè)置為Docker
  對(duì)于eShopOnContainers的開(kāi)發(fā)環(huán)境,默認(rèn)情況下,它運(yùn)行1個(gè)具有多個(gè)數(shù)據(jù)庫(kù)的SQL Server容器(每個(gè)微服務(wù)一個(gè)數(shù)據(jù)庫(kù)),以及6個(gè)額外的ASP.NET Core應(yīng)用程序/服務(wù)容器,和1個(gè)?Redis服務(wù)容器。由于SQL Server對(duì)內(nèi)存的要求較高,因此需要設(shè)置Docker分配足夠的內(nèi)存RAM和CPU,否則在使用VS 2017或“docker-compose up”命令啟動(dòng)容器時(shí)會(huì)報(bào)錯(cuò)。
  在您的計(jì)算機(jī)上安裝Docker for Windows后,進(jìn)入其設(shè)置和高級(jí)菜單選項(xiàng),調(diào)整為最小內(nèi)存為4G以上,CPU為3核以上,如圖所示。
?
3、磁盤(pán)共享設(shè)置 (為了使用Visual Studio 2017部署和調(diào)試)
  需要共享您放置源代碼以及Docker For Windows的文件夾所在的驅(qū)動(dòng)器。如果沒(méi)有共享相應(yīng)的文件夾,啟動(dòng)調(diào)試時(shí)會(huì)報(bào)錯(cuò)。
?
?4、設(shè)置防火墻規(guī)則
在本地防火墻中打開(kāi)端口,以便可以通過(guò)STS(安全令牌服務(wù)容器,IP:10.0.75.1?)進(jìn)行身份驗(yàn)證,該IP為Docker默認(rèn)設(shè)置。Xamarin app或SPA app等客戶端也需要打開(kāi)相應(yīng)的防火墻端口。
  您可以在本地防火墻中手動(dòng)創(chuàng)建規(guī)則,也可以通過(guò)執(zhí)行解決方案的cli-windows目錄中提供的add-firewall-rules-for-sts-auth-thru-docker.ps1腳本來(lái)創(chuàng)建該規(guī)則。
  您需要通過(guò)在防火墻中創(chuàng)建一個(gè)IN-BOUND RULE來(lái)打開(kāi)解決方案使用的端口5100到5110,如下面的屏幕截圖所示(對(duì)于Windows)。
注意:通過(guò)PowerShell腳本設(shè)置防火墻規(guī)則時(shí)可能會(huì)因?yàn)閃indows PowerShell? 默認(rèn)執(zhí)行策略未設(shè)置而報(bào)錯(cuò)。具體參考:https://go.microsoft.com/fwlink/?LinkID=135170。
可以通過(guò)PowerShell執(zhí)行"Set-ExecutionPolicy UNRESTRICTED -Scope CurrentUser"命令臨時(shí)允許腳本運(yùn)行,運(yùn)行完設(shè)置防火墻規(guī)則腳本后再通過(guò)“Set-ExecutionPolicy Undefined -Scope CurrentUser”還原默認(rèn)設(shè)置。
要查看當(dāng)前執(zhí)行策略設(shè)置可通過(guò)命令:“?Get-ExecutionPolicy -List”。?
二、安裝并配置Visual Studio 2017環(huán)境
?1、安裝最新版Visual Studio 2017
如果只需要進(jìn)行服務(wù)端(微服務(wù)和Web應(yīng)用程序)開(kāi)發(fā),只需要選擇“Asp.Net和Web開(kāi)發(fā)、.Net Core跨平臺(tái)開(kāi)發(fā)”兩個(gè)工作負(fù)載,需要部署到微軟Azure時(shí)可選擇“Azure開(kāi)發(fā)”工作負(fù)載。
如果需要進(jìn)行移動(dòng)App (基于Xamarin的iOS, Android和Windows UWP移動(dòng)應(yīng)用) 開(kāi)發(fā),則還需要選擇“使用.Net的移動(dòng)開(kāi)發(fā)、通用Windows平臺(tái)開(kāi)發(fā)”兩個(gè)工作負(fù)載。
注意:安裝“.Net的移動(dòng)開(kāi)發(fā)”工作負(fù)載,必須取消右側(cè)的安裝詳細(xì)信息中的“Google Android仿真器、Intel硬件加速管理器”兩個(gè)組件,因?yàn)檫@兩個(gè)組件與Hyper-V不兼容。
?2、從Github獲取eShopOnContainers源代碼
可以直接從https://github.com/dotnet-architecture/eShopOnContainers下載源代碼,或者通過(guò)git克隆:“git clone https://github.com/dotnet-architecture/eShopOnContainers.git”。
3、打開(kāi)并運(yùn)行eShopOnContainers解決方案
如果只進(jìn)行服務(wù)端調(diào)試,打開(kāi)“eShopOnContainers-ServicesAndWebApps.sln”解決方案,如果還需要調(diào)試移動(dòng)App,打開(kāi)“eShopOnContainers.sln”解決方案。
將“docker-compose”設(shè)置為默認(rèn)啟動(dòng)項(xiàng)目,按F5或者點(diǎn)運(yùn)行。
注意:由于第一次運(yùn)行Docker需從互聯(lián)網(wǎng)下載"SQL for Linux , Redis , ASPNET"等Docker鏡像,視網(wǎng)速可能需要等10分鐘左右。
4、測(cè)試所有應(yīng)用和微服務(wù)
容器正常部署運(yùn)行后,可通過(guò)以下地址訪問(wèn)任一應(yīng)用或服務(wù):
- MVC網(wǎng)頁(yè):?http://localhost:5100 
- 單頁(yè)應(yīng)用網(wǎng)頁(yè):?http://localhost:5104?(需要單獨(dú)安裝依賴并編譯才能正常運(yùn)行) 
- 商品目錄微服務(wù):?http://localhost:5101?(不需要認(rèn)證) 
- 訂單微服務(wù):?http://localhost:5102?(需要認(rèn)證) 
- 購(gòu)物車微服務(wù):?http://localhost:5103?(需要認(rèn)證) 
- 認(rèn)證微服務(wù):?http://localhost:5105 
- 訂單數(shù)據(jù)庫(kù)(SQL Server 連接字符串): Server=tcp:localhost,5432;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word; 
- 商品目錄數(shù)據(jù)庫(kù) (SQL Server 連接字符串): Server=tcp:localhost,5434;Database=CatalogDB;User Id=sa;Password=Pass@word 
- 認(rèn)證數(shù)據(jù)庫(kù) (SQL Server 連接字符串): Server=localhost,5433;Database=aspnet-Microsoft.eShopOnContainers;User Id=sa;Password=Pass@word 
- 購(gòu)物車數(shù)據(jù) (Redis): 監(jiān)聽(tīng) localhost:6379 
注意:單頁(yè)應(yīng)用網(wǎng)頁(yè)需要單獨(dú)安裝依賴并編譯才能正常運(yùn)行,暫時(shí)未處理,打開(kāi)為空白頁(yè)。
?5、MVC網(wǎng)頁(yè)運(yùn)行效果
相關(guān)文章:
- 開(kāi)篇有益-解析微軟微服務(wù)架構(gòu)eShopOnContainers(一) 
- Identity Service - 解析微軟微服務(wù)架構(gòu)eShopOnContainers(二) 
- Catalog Service - 解析微軟微服務(wù)架構(gòu)eShopOnContainers(三) 
- EventBus In eShop -- 解析微軟微服務(wù)架構(gòu)eShopOnContainers(四) 
- Health Check in eShop -- 解析微軟微服務(wù)架構(gòu)Demo(五) 
- .NET Core多平臺(tái)項(xiàng)目模板e(cuò)ShopOnContainers編譯手記 
- 看eShopOnContainers學(xué)一個(gè)EventBus 
- eShopOnContainers 知多少[1]:總體概覽 
- eShopOnContainers 知多少[2]:Run起來(lái) 
- eShopOnContainers 知多少[3]:Identity Microservice 
原文地址:https://www.cnblogs.com/dusthunter/p/9973815.html
.NET社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總 http://www.csharpkit.com 
總結(jié)
以上是生活随笔為你收集整理的从头开始学eShopOnContainers——Visual Studio 2017环境配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 调试.NET CORE代码
- 下一篇: ASP.NET Core 生成验证码
