eShopOnContainers 看微服务 ②:配置 启动
一、什么是docker
Docker 是一個開源項目,通過把應用程序打包為可移植的、自給自足的容器(可以運行在云端或本地)的方式,實現應用程序的自動化部署。
使用 Docker 的時候,需要創建一個應用或服務,然后把它和它的依賴打包到一個容器鏡像中。鏡像是應用或服務,以及它的配置和依賴的靜態表現形式。要運行應用和服務,這個應用的鏡像會被實例化,來創建一個容器,這個容器將會運行在 Docker 宿主機上。Docker公司 維護了一個公用的注冊表叫?Docker Hub,其他提供商也為不同的鏡像集合提供了各種注冊表。此外,企業可以在本地創建一個私有的 注冊表,供企業內部的 Docker 鏡像來使用。?
這里出現幾個名詞。
容器鏡像:一個包含了創建容器所需的所有依賴和信息的“包”。
容器:Docker 鏡像的一個實例。
注冊表(Registry):為倉庫提供訪問服務。一個注冊表通常包含來自于多個團隊的倉庫。企業通常會創建私有的 注冊表來存儲和管理他們創建的鏡像。
Docker Hub:一個公用的 注冊表。
?
需要注意:Windows 鏡像只能運行在Windows 主機上,Linux 鏡像只能運行在 Linux 主機上。?
?
二、環境設置
安裝docker我們就不說了,網上很多介紹。我們從配置開始
1、 給Docker分配CPU和內存
對硬件還是有些要求的。
?
?2?、設置共享驅動器
這里C盤是必須的,另外E盤是我存放eshop源代碼的盤,自然也要共享。
3、設置鏡像加速
我們使用DaoCloud來做鏡像加速。官網https://www.daocloud.io
加速地址?http://f1361db2.m.daocloud.io加到"registry-mirrors"的數組里,點擊 Apply 。
?
4、防火墻設置
在本地防火墻中打開端口,以便可以通過STS(安全令牌服務容器,IP:10.0.75.1 )進行身份驗證,該IP為Docker默認設置。Xamarin app或SPA app等客戶端也需要打開相應的防火墻端口。
  您可以在本地防火墻中手動創建規則,也可以通過執行解決方案的cli-windows目錄中提供的add-firewall-rules-for-sts-auth-thru-docker.ps1腳本來創建該規則。
  您需要通過在防火墻中創建一個IN-BOUND RULE來打開解決方案使用的端口5100到5110,如下面的屏幕截圖所示(對于Windows)。
三、構建并部署到本機Docker主機
1、打開并運行eShopOnContainers解決方案
如果只進行服務端調試,打開“eShopOnContainers-ServicesAndWebApps.sln”解決方案,如果還需要調試移動App,打開“eShopOnContainers.sln”解決方案。
將“docker-compose”設置為默認啟動項目,按F5或者點運行。
注意:由于第一次運行Docker需從互聯網下載"SQL for Linux , Redis , ASPNET"等Docker鏡像,視網速可能需要等10分鐘左右。
2、查看已經構建好的鏡像。
?
注:你可能會看到很多為?<none>的鏡像,這些是臨時鏡像,可以通過命令?docker rmi $(docker images-f"dangling=true"-q)刪除。
3、測試所有應用程序和微服務
完成容器部署,測試訪問以下服務。?
容器正常部署運行后,可通過以下地址訪問任一應用或服務:
- MVC網頁:?http://localhost:5100 
- 單頁應用網頁:?http://localhost:5104?(需要單獨安裝依賴并編譯才能正常運行) 
- 商品目錄微服務:?http://localhost:5101?(不需要認證) 
- 訂單微服務:?http://localhost:5102?(需要認證) 
- 購物車微服務:?http://localhost:5103?(需要認證) 
- 認證微服務:?http://localhost:5105 
- 訂單數據庫(SQL Server 連接字符串): Server=tcp:localhost,5432;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word; 
- 商品目錄數據庫 (SQL Server 連接字符串): Server=tcp:localhost,5434;Database=CatalogDB;User Id=sa;Password=Pass@word 
- 認證數據庫 (SQL Server 連接字符串): Server=localhost,5433;Database=aspnet-Microsoft.eShopOnContainers;User Id=sa;Password=Pass@word 
- 購物車數據 (Redis): 監聽 localhost:6379 
相關文章:
- eShopOnContainers 看微服務 ①:總體概覽 
- eShopOnContainers 知多少[1]:總體概覽 
- eShopOnContainers 知多少[2]:Run起來 
- eShopOnContainers 知多少[3]:Identity Microservice 
- eShopOnContainers 知多少[4]:Catalog microservice 
- Catalog Service - 解析微軟微服務架構eShopOnContainers(三) 
- eShopOnContainers 知多少[5]:EventBus With RabbitMQ 
- EventBus In eShop -- 解析微軟微服務架構eShopOnContainers(四) 
- eShopOnContainers 是一個基于微服務的.NET Core示例框架 
原文地址:https://www.cnblogs.com/tianyamoon/p/10081277.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的eShopOnContainers 看微服务 ②:配置 启动的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: .net core i上 K8S(四).
- 下一篇: .net core i上 K8S(五).
