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