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

https://www.cnblogs.com/dusthunter/p/9973815.html

一、安装和配置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网页运行效果
  

分类: .net core

Docker环境下eShopOnContainers部署的更多相关文章

  1. docker环境下solrcloud+zookeeper集群部署教程

    前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...

  2. Nginx系列(8)- Nginx安装 | Docker环境下部署

    Docker环境下部署Nginx https://www.cnblogs.com/gltou/p/15186971.html

  3. docker环境下solr6.0配置(中文分词+拼音)

    前言:这篇文章是基于之前的“linux环境下配置solr5.3详细步骤”(http://www.cnblogs.com/zhangyuan0532/p/4826740.html)进行扩展的.本篇的步骤 ...

  4. Docker环境下运行python+selenium+chrome

    Docker环境下运行python+selenium+chrome docker运行时占用的资源非常少,而且能将环境进行有效的隔离,可以快速的进行部署,因此可以将docker与selenium结合实现 ...

  5. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

  6. Docker环境 ELK 快速部署

    Docker环境 ELK快速部署 环境 Centos 7.4 , Docker version 17.12 Docker至少3GB内存: #内核配置 echo ' vm.max_map_count = ...

  7. Kafka~Linux环境下的部署

    概念 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素. 这些数据 ...

  8. Docker环境下的Mysql8 实现主从数据库数据同步方案

    本文记录下通过MySQL Replication在Docker环境下,通过多个容器 实现数据库主从配置. MySQL Replication就不多解释了,简单说就是MySQL非常出色的一个功能,该功能 ...

  9. Mac+Docker环境下xdebug的配置

    由于容器化的需要,前几天我本地也换成了docker环境.就研究了一下docker环境下phpstorm和xdebug的配置. http://www.mmfei.com/?p=453 这个博客给出了一个 ...

随机推荐

  1. 使用iview--1

    在任意一个你想创建项目的路径下 每次输入就输一致的就可以 /*************************安装选项开始****************/ 回车再次回车就如下,输入Y 继续 回车,输 ...

  2. Eclipse关联JDK源码

    1. http://blog.csdn.net/weiwangchao_/article/details/25960961 2. 1.点 "window">"Pre ...

  3. FlashFXP客户端 FTP连接,连接很慢的情况,

    菜单栏-->站点-->站点管理器--->左边视图FTP--->列表命令选择 STAT -L

  4. javascript深入浅出

    第一章 数据类型 1,六种数据类型:原始类型(number,string,boolean,null,undefined) + object对象(Function Array Date) 2,隐式转换: ...

  5. js计算之递归

    看以下js代码: var w = [{ label: '你好', node: [ { label: '你好啊', node: [{ label: "还好", node: [] }, ...

  6. fstat

    相关函数:stat, lstat, chmod, chown, readlink, utime 头文件:#include <sys/stat.h> #include <unistd. ...

  7. model 数据注解

    https://www.cnblogs.com/leoxuan/articles/6555396.html ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Mode ...

  8. Android6.0------权限申请RxPermissions

    前面写了Android6.0权限介绍和权限单个,多个申请,用的是纯Java代码,本文主要说的是借助第三方库来实现权限申请. 借助第三方库 RxPermissions来申请6.0权限. RxPermis ...

  9. Intellij IDEA的一些操作小技巧

    1.Presentation Mode 我们可以使用 Presentation Mode,将IDEA弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的 coding.可以使用Alt+v快捷键,弹 ...

  10. 1-19-1 RHEL6启动原理和故障排除

    大纲: 一.RHEL6系统启动原理 BIOS--->mbr--->bootloader--->内核--->init--->/etc/rc.d/rc.sysinit---& ...