一、安装和配置Docker环境

1、安装Docker CE for Windows

  从官方网站下载并安装,https://docs.docker.com/docker-for-windows/install/。默认情况下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核以上,如图所示。

  

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

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

  

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

  

  注意:通过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网页: 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

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

5、MVC网页运行效果

  

从头开始学eShopOnContainers——Visual Studio 2017环境配置的更多相关文章

  1. 在Visual Studio 2017上配置Glut

    在Visual Studio 2017上配置Glut 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在Visual Studio 2017上配置并使用 ...

  2. OpenCV2.4.9 & Visual Studio 2010 环境配置篇

    1. 准备工作 1.1. 安装 Visual Studio 2010, 需要安装 VC++ 相关功能.具体可求助度娘. 1.2. 下载 OpenCV 2.4.9 For Windows:https:/ ...

  3. 在Visual Studio 2017上配置并使用OpenGL

    在Visual Studio 2017上配置并使用OpenGL 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 首先在Windows下安装Visual ...

  4. MariaDB + Visual Studio 2017 环境下的 ODBC 入门开发

    参考: Easysoft公司提供的ODBC教程 微软提供的ODBC文档 环境: Windows 10 x64 1803 MariaDB TX 10.2.14 x64 MariaDB ODBC Conn ...

  5. 重置Visual Studio 2017的配置

    1,从命令行进入VS 2017安装目录下面的Common7\IDE文件夹. 例如,Windows 10系统中 VS 2017 企业版的默认安装目录如下: C:\Program Files (x86)\ ...

  6. 新手一步一步OpenCV+Win7+Visual Studio 2013环境配置

    地点:湖南大学软件大楼211 时间:2013.12.19 昨天导师布置了个任务,要求是找出用相机拍出同一移动场景下的两张照片,计算机能根据其中的差异计算场景移动的距离和旋转角度.据说以前很牛逼的师兄完 ...

  7. Windows10 + Visual Studio 2017环境为C++工程安装使用ZMQ

    因为需要用 C++ 实现联机对战的功能,但是不想直接用 winsock ,因此选了ZMQ 框架(不知道合不合适).安装的过程还是挺艰辛的.但是也学到了些东西,记录一下.另外,Zmq 的作者 Piete ...

  8. (转)在SQL Server 2016,Visual Studio 2017环境下,连接数据库屡屡失败,在connectionString上出的问题

    适用情景: 1,ServerVersion出了问题,“SqlCnt.ServerVersion”引发了类型“System.InvalidOperationException”的异常 2,在String ...

  9. win10 visual studio 2017环境中安装CUDA8

    从https://developer.nvidia.com/cuda-toolkit-archive下载CUDA 8 安装 从https://developer.nvidia.com/gamework ...

随机推荐

  1. 【转】 Pro Android学习笔记(九一):了解Handler(5):组件生命

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 对于activity,消息是在OnCrea ...

  2. java代码从键盘输入次数,然后进行运算-----菜鸟如此菜

    package com.aaa; import java.util.Scanner; // //求两数相加的和.从键盘输入 public class ftwert { public static vo ...

  3. 各种Java项目环境搭建-文档引用汇总记录

    springmvc环境搭建 1.如何用Maven创建web项目(具体步骤) 2.springmvc环境搭建,一步一步超简单

  4. 1141 PAT Ranking of Institutions

    题意:给出考生id(分为乙级.甲级和顶级),取得的分数和所属学校.计算各个学校的所有考生的带权总成绩,以及各个学校的考生人数.最后对学校进行排名. 思路:本题的研究对象是学校,而不是考生!因此,建立学 ...

  5. VS2017自定义代码片段, 实现快捷输入

    点击VS2017的工具→代码片段管理器, 下图: 语言选择C#, 路径定位到 Visual C#, 然后复制这个路径在电脑中打开 这里以增加 crk 快捷方式输出 Console.ReadKey()来 ...

  6. Linux学习笔记 -- Shell 数组

    定义 在Shell的世界里,我们只能定义一维数组. 定义数组的时候不需要指定长度,数组的下标从0开始; Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: sh ...

  7. c# 各种tips

    1.lock 类似于 java中的synchronized,对对象或代码块加上互斥锁. 2.c#中的lambda表达式, ForEach(x => f(n)) 3.c# 中的 something ...

  8. PHP 简单实现webSocket

    费话少说,用源代码说话 1)客户端实现 1 <html> 2 <head> 3 <meta charset="UTF-8"> 4 <tit ...

  9. MFC 控件使用汇总

    一.动态创建button CButton *button=new CButton; button->Create(_T(,,,),);//最后一个是ID BEGIN_MESSAGE_MAP(CM ...

  10. stm32下载程序,拔了调试器不能运行程序解决方案

    A:肯定是只拔了仿真器与电脑连接的那端,然后把另外端依然接在板子上.我说的没错吧 B: 对的,这样就会一直复位吗 这是复位的问题,当JLINK在板子上连接的时候,断电情况下,会一直把RESET拉低,导 ...