Docker在eShopOnContainer项目中的使用方法

http://www.javashuo.com/article/p-zcrxlppd-gs.htmlhtml

 

环境准备

  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分支便可,该分支会保持最新改动,不要切换到其余分支。node

git clone

环境设置

  1. 给Docker分配CPU和内存
    舒适提示:如下的配置是最低需求,不然不保证项目能正常运行!
    内存和CPU设置git

  2. 设置共享驱动器
    驱动器共享github

  3. 设置镜像加速
    DaoCloud提供的镜像加速地址http://f1361db2.m.daocloud.io加到"registry-mirrors"的数组里,点击 Apply 。
    镜像加速redis

  4. 勾选试验功能
    若是遇到这个报错,Docker: “no matching manifest for windows/amd64 in the manifest list entries”,就勾选下面这个参数。
    Experimental featuresdocker

  5. 防火墙设置
    打开代码路径,找到cli-windows\add-firewall-rules-for-sts-auth-thru-docker.ps1power shell脚本并执行,打开本地防火墙中的端口,以便对STS(Security Token Service container)进行身份验证。
    eShopOnContainers 防火墙入站规则设置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应用。以下图所示:
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数据库

关注个人公众号『微服务知多少』,咱们微信不见不散。 
阅罢此文,若是您以为本文不错并有所收获,请【打赏】或【推荐】,也可【评论】留下您的问题或建议与我交流。 你的支持是我不断创做和分享的不竭动力!
做者: 『圣杰』
本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文连接,不然保留追究法律责任的权利。
相关文章
相关标签/搜索