環境準備
- Win10(開啓Hyper-V)
- .NET Core SDK
- Docker for Windows
- VS2017 or VS Code
- Git
- SQL Server Management Studio(可選)
- Redis Desktop Manager(可選)
- Node.js(可選)
- Bower(可選)
Clone代碼到本地
執行命令git clone https://github.com/dotnet/eShopOnContainers.git
clone代碼到本地。使用默認DEV
分支便可,該分支會保持最新改動,不要切換到其餘分支。node
環境設置
-
給Docker分配CPU和內存
舒適提示:如下的配置是最低需求,不然不保證項目能正常運行!
git -
設置共享驅動器
github -
設置鏡像加速
把DaoCloud提供的鏡像加速地址http://f1361db2.m.daocloud.io
加到"registry-mirrors"的數組裏,點擊 Apply 。
redis -
勾選試驗功能
若是遇到這個報錯,Docker: 「no matching manifest for windows/amd64 in the manifest list entries」,就勾選下面這個參數。
docker -
防火牆設置
打開代碼路徑,找到cli-windows\add-firewall-rules-for-sts-auth-thru-docker.ps1
power shell腳本並執行,打開本地防火牆中的端口,以便對STS(Security Token Service container)進行身份驗證。
shell
構建並部署到本機Docker主機
進入eShopOnContainers根目錄,執行docker-compose build
。
數據庫
去喝幾杯咖啡或者打個盹吧,估計得好一會。完成後,執行docker image
,能夠查看已經構建好的鏡像。
windows
PS:你可能會看到不少爲<none>
的鏡像,這些是臨時鏡像,能夠經過命令docker rmi $(docker images -f "dangling=true" -q)
刪除。數組
接下來執行docker-compose up
命令部署到本地Docker主機。
啓動完成後,執行docker ps
命令查看已啓動的容器列表。
本地訪問http://localhost:5100/,便可打開MVC Web應用。以下圖所示:
測試全部應用程序和微服務
一旦完成容器部署,就能夠從本地開發機器經過一下URL或鏈接字符串任何服務。
- Web MVC: http://localhost:5100
- Web Spa: http://localhost:5104
- Catalog microservice(產品目錄微服務): http://localhost:5101 (Not secured)
- Ordering microservice(訂單微服務): http://localhost:5102 (Requires token for authorization)
- Basket microservice(購物車微服務: http://localhost:5103 (Requires token for authorization)
- Identity microservice(認證受權微服務): http://localhost:5105
- Web Status(健康檢查): http://localhost:5107
- Orders database (訂單數據庫)(SQL Server connection string):
Server=tcp:localhost,5432;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;
- Catalog database (產品目錄數據庫)(SQL Server connection string):
Server=tcp:localhost,5434;Database=CatalogDB;User Id=sa;Password=Pass@word
- ASP.NET Identity database(身份數據庫) (SQL Server connection string):
Server=localhost,5433;Database=aspnet-Microsoft.eShopOnContainers;User Id=sa;Password=Pass@word
- Basket data(購物車數據) (Redis): listening at localhost:6379
其餘
PS:關於如何從外部鏈接SQL Server數據庫,使用:
Server:localhost,5433 (這裏是逗號,不是冒號!!!)
User:sa
Pwd:Pass@word