1. 程式人生 > >eShopOnContainers 知多少[2]:Run起來

eShopOnContainers 知多少[2]:Run起來

環境準備

Clone程式碼到本地

執行命令git clone https://github.com/dotnet/eShopOnContainers.gitclone程式碼到本地。使用預設DEV分支即可,該分支會保持最新改動,不要切換到其他分支。

git clone

環境設定

  1. 給Docker分配CPU和記憶體
    溫馨提示:以下的配置是最低需求,否則不保證專案能正常執行!
    記憶體和CPU設定

  2. 設定共享驅動器
    驅動器共享

  3. 設定映象加速
    DaoCloud提供的映象加速地址http://f1361db2.m.daocloud.io加到"registry-mirrors"的數組裡,點選 Apply 。
    映象加速

  4. 防火牆設定
    開啟程式碼路徑,找到cli-windows\add-firewall-rules-for-sts-auth-thru-docker.ps1

    power shell指令碼並執行,開啟本地防火牆中的埠,以便對STS(Security Token Service container)進行身份驗證。
    eShopOnContainers 防火牆入站規則設定

構建並部署到本機Docker主機

進入eShopOnContainers根目錄,執行docker-compose build
構建

去喝幾杯咖啡或者打個盹吧,估計得好一會。完成後,執行docker image,可以檢視已經構建好的映象。
映象列表

PS:你可能會看到很多為<none>的映象,這些是臨時映象,可以通過命令docker rmi $(docker images -f "dangling=true" -q)刪除。

接下來執行docker-compose up

命令部署到本地Docker主機。
執行映象

啟動完成後,執行docker ps命令檢視已啟動的容器列表。
執行中的容器列表

測試所有應用程式和微服務

一旦完成容器部署,就可以從本地開發機器通過一下URL或連線字串任何服務。

  • 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)
  • Orders database (訂單資料庫)(SQL Server connection string): Server=tcp:localhost,5432;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;[email protected];
  • Catalog database (產品目錄資料庫)(SQL Server connection string): Server=tcp:localhost,5434;Database=CatalogDB;User Id=sa;[email protected]
  • ASP.NET Identity database(身份資料庫) (SQL Server connection string): Server=localhost,5433;Database=aspnet-Microsoft.eShopOnContainers;User Id=sa;[email protected]
  • Basket data(購物車資料) (Redis): listening at localhost:6379

其他

PS:關於如何從外部連線SQL Server資料庫,使用:
Server:localhost,5433 (這裡是逗號,不是冒號!!!)
User:sa
Pwd:[email protected]
連線到容器內SQL Server資料庫