Docker在eShopOnContainer項目中的使用方法


https://www.cnblogs.com/sheng-jie/p/9795996.html

 

環境准備

  1. Win10(開啟Hyper-V)
  2. .NET Core SDK
  3. Docker for Windows
  4. VS2017 or VS Code
  5. Git
  6. SQL Server Management Studio(可選)
  7. Redis Desktop Manager(可選)
  8. Node.js(可選)
  9. Bower(可選)

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. 勾選試驗功能
    如果遇到這個報錯,Docker: “no matching manifest for windows/amd64 in the manifest list entries”,就勾選下面這個參數。
    Experimental features

  5. 防火牆設置
    打開代碼路徑,找到cli-windows\add-firewall-rules-for-sts-auth-thru-docker.ps1power 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命令查看已啟動的容器列表。
運行中的容器列表

本地訪問http://localhost:5100/,即可打開MVC Web應用。如下圖所示:
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
連接到容器內SQL Server數據庫

關注我的公眾號『微服務知多少』,我們微信不見不散。 
閱罷此文,如果您覺得本文不錯並有所收獲,請【打賞】或【推薦】,也可【評論】留下您的問題或建議與我交流。 你的支持是我不斷創作和分享的不竭動力!
作者: 『聖傑』
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM