eShopOnContainers 知多少[2]:Run起来

环境准备

  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主机。
运行镜像tcp

启动完成后,执行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数据库

相关文章
相关标签/搜索