欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

从头开始学eShopOnContainers——Visual Studio 2017环境配置

程序员文章站 2022-10-16 15:10:39
一、安装和配置Docker环境 1、安装Docker CE for Windows 从官方网站下载并安装,https://docs.docker.com/docker-for-windows/install/。默认情况下Docker for Windows使用Hyper-V运行Linux VM。 如 ......

一、安装和配置docker环境

1、安装docker ce for windows

  从官方网站下载并安装,。默认情况下docker for windows使用hyper-v运行linux vm。 如果您没有安装/启用hyper-v,它将被安装,您可能需要重新启动计算机。

  注意: 您需要检查是否安装了其它可能与hyper-v不兼容的虚拟机管理程序。例如:基于intel haxm技术的google's android模拟器,目前此模拟器和hyper-v不兼容

2、将所需的内存和cpu设置为docker

  对于eshoponcontainers的开发环境,默认情况下,它运行1个具有多个数据库的sql server容器(每个微服务一个数据库),以及6个额外的asp.net core应用程序/服务容器,和1个 redis服务容器。由于sql server对内存的要求较高,因此需要设置docker分配足够的内存ram和cpu,否则在使用vs 2017或“docker-compose up”命令启动容器时会报错。

  在您的计算机上安装docker for windows后,进入其设置和高级菜单选项,调整为最小内存为4g以上,cpu为3核以上,如图所示。

  从头开始学eShopOnContainers——Visual Studio 2017环境配置

 

3、磁盘共享设置 (为了使用visual studio 2017部署和调试)

  需要共享您放置源代码以及docker for windows的文件夹所在的驱动器。如果没有共享相应的文件夹,启动调试时会报错。

  从头开始学eShopOnContainers——Visual Studio 2017环境配置

 

 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)。

  从头开始学eShopOnContainers——Visual Studio 2017环境配置

  注意:通过powershell脚本设置防火墙规则时可能会因为windows powershell® 默认执行策略未设置而报错。具体参考:https://go.microsoft.com/fwlink/?linkid=135170。

  可以通过powershell执行"set-executionpolicy unrestricted -scope currentuser"命令临时允许脚本运行,运行完设置防火墙规则脚本后再通过“set-executionpolicy undefined -scope currentuser”还原默认设置。

  要查看当前执行策略设置可通过命令:“ get-executionpolicy -list”。

 

二、安装并配置visual studio 2017环境

 1、安装最新版visual studio 2017

  如果只需要进行服务端(微服务和web应用程序)开发,只需要选择“asp.net和web开发、.net core跨平台开发”两个工作负载,需要部署到微软azure时可选择“azure开发”工作负载。

  如果需要进行移动app (基于xamarin的ios, android和windows uwp移动应用) 开发,则还需要选择“使用.net的移动开发、通用windows平台开发”两个工作负载。

  注意:安装“.net的移动开发”工作负载,必须取消右侧的安装详细信息中的“google android仿真器、intel硬件加速管理器”两个组件,因为这两个组件与hyper-v不兼容。

 2、从github获取eshoponcontainers源代码

  可以直接从https://github.com/dotnet-architecture/eshoponcontainers下载源代码,或者通过git克隆:“git clone https://github.com/dotnet-architecture/eshoponcontainers.git”。

3、打开并运行eshoponcontainers解决方案

  如果只进行服务端调试,打开“eshoponcontainers-servicesandwebapps.sln”解决方案,如果还需要调试移动app,打开“eshoponcontainers.sln”解决方案。

  将“docker-compose”设置为默认启动项目,按f5或者点运行。

  注意:由于第一次运行docker需从互联网下载"sql for linux , redis , aspnet"等docker镜像,视网速可能需要等10分钟左右。

4、测试所有应用和微服务

  容器正常部署运行后,可通过以下地址访问任一应用或服务:

  • mvc网页:
  • 单页应用网页: (需要单独安装依赖并编译才能正常运行)
  • 商品目录微服务: (不需要认证)
  • 订单微服务: (需要认证)
  • 购物车微服务: (需要认证)
  • 认证微服务:
  • 订单数据库(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

  注意:单页应用网页需要单独安装依赖并编译才能正常运行,暂时未处理,打开为空白页。

 5、mvc网页运行效果

  从头开始学eShopOnContainers——Visual Studio 2017环境配置