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

一、安装和配置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核以上,如图所示。

  640?wx_fmt=png

 

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

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

  640?wx_fmt=png

 

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

  640?wx_fmt=png

  注意:通过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网页运行效果

  640?wx_fmt=png

相关文章:


原文地址:https://www.cnblogs.com/dusthunter/p/9973815.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core 生成验证码

点击蓝字关注我使用验证码保护网站免受垃圾信息的选择有很多,比如Google ReCaptcha和captcha.com。这两者都可以整合到ASP.NET Core应用中去。然而,如果你出于某些原因,仍然希望自己写验证码,例如你下网站需要在中国大陆使用&…

【.NET Core项目实战-统一认证平台】第六章 网关篇-自定义客户端授权

上篇文章【.NET Core项目实战-统一认证平台】第五章 网关篇-自定义缓存Redis 我们介绍了网关使用Redis进行缓存,并介绍了如何进行缓存实现,缓存信息清理接口的使用。本篇我们将介绍如何实现网关自定义客户端授权,实现可以为不同的接入客户端设…

如何用ABP框架快速完成项目(面向项目交付编程面向客户编程篇) - 广州.net微软技术俱乐部12月份活动报名帖...

这是广州.net微软技术俱乐部12月份活动报名帖。此帖会持续更新。活动课程标题是:如何用ABP框架快速完成项目(面向项目交付编程面向客户编程篇)这是内容大纲:ABP框架简介(这里会聊聊.net真的不如JAVA吗?)快的定义!用ABP…

.Net Core微服务系列--开篇

得原来有个项目是用wcf做的分布式,不仅横向根据业务拆分了,纵向把业务处理、数据访问等也拆分了成不同的服务,这个是当时公司的产品我也只是一个小小的开发人员所以就不做太多的评论,只是不得不吐槽下调试真的太麻烦。后来&#x…

牛客题霸 [ 树的直径] C++题解/答案

牛客题霸 [ 树的直径] C题解/答案 题目描述 给定一棵树,求出这棵树的直径,即两个节点距离的最大值。 题解: 不知道大家听没听过一个结论: 树的直径可以通过两边dfs找到 步骤: 1.从任意一点进行dfs,然后…

被低估的.net(中) - 广州.net俱乐部2019年纲领

这是被低估的.net系列的中篇。上篇在这里:被低估的.net(上) - 微软MonkeyFest 2018广州分享会活动回顾中篇本来不是这样的,中篇的草稿大纲其实在写上篇之前就写好了,嗯,当时给张队长看过了。然而却因为被.net 粉丝的热情震惊和感动…

[译]RabbitMQ教程C#版 - 远程过程调用(RPC)

先决条件本教程假定 RabbitMQ 已经安装,并运行在localhost标准端口(5672)。如果你使用不同的主机、端口或证书,则需要调整连接设置。从哪里获得帮助如果您在阅读本教程时遇到困难,可以通过邮件列表 联系我们。在第 教程…

ML.NET速览

什么是ML.NET?ML.NET是由微软创建,为.NET开发者准备的开源机器学习框架。它是跨平台的,可以在macOS,Linux及Windows上运行。机器学习管道ML.NET通过管道(pipeline)方式组合机器学习过程。整个管道分为以下四个部分:Loa…

.NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划

写在前面千呼万唤始出来,首先,请允许我长吸一口气!真没想到一份来自28岁老程序员的自白 这篇文章会这么火,更没想到的是张善友队长的公众号居然也转载了这篇文章,这就导致两天的时间就有两百多位读者朋友加入了.NET Co…

.Net Core微服务系列--理论篇

微服务的由来微服务最早由Martin Fowler与James Lewis于2014年共同提出来的,但是微服务也不是一个全新的概念,它是由一系列在实践中获得成功并流行起来的概念中总结出来的一种模式,一种概念。而这一系列的概念大体上有这些:领域驱动设计(DDD)…

Asp.net Core Jenkins Docker 实现一键化部署

写在前面在前段时间尝试过用Jenkins来进行asp.net core 程序在IIS上面的自动部署。大概的流程是Jenkins从git上获取代码最开始Jenkins是放在Ubuntu的Docker中,但是由于Powershell执行的原因,就把Jenkins搬到了windows上。因为我们网站的部署需要停掉IIS站…

“校长”潘淳:侠之大者,一蓑烟雨任平生

我是与丁磊、蔡文胜同时代的人,他们都是70后大我两岁。我的经历与爱好与丁磊有丁点接近,但是没他下海走一走的胆识。又或者与蔡文胜一样,也算是国内最早的域名代理商,却又没有投资的勇气。—— 潘淳《IT英雄传》这一期的主角儿是江…

微软Cloud+AI本地化社区贡献指南

本文主要介绍微软CloudAI本地化社区,以及通过多种途径贡献本地化的操作指南。什么是本地化社区CloudAI本地化社区是微软技术社区的组成部分之一,负责对微软官方技术文档本地化的支持工作。微软近些年大力拥抱开源,不断在各类技术社区保持与开…

C#:在Task中使用依赖注入的Service/EFContext

dotnet core时代,依赖注入基本已经成为标配了,这就不多说了.前几天在做某个功能的时候遇到在Task中使用EF DbContext的问题,学艺不精的我被困扰了不短的一段时间,于是有了这个文章.先说一下代码结构和场景.首先有一个HouseDbContext,代码大概是下面这样:public class HouseDbCo…

pkusc2021游记

文章目录Day 0Day 1Day 2Day 3Day 0 车,公交,飞机,公交,车 坐了半天的交通终于到了,整个人都坐的晕乎乎的,然后看了下学校位置吃了饭就没事回酒店了。 Day 1 早上是报道,九点才开始&#xf…

DevOps/.NET 微服务 秋季分享会领优惠门票

参与活动【活动(深圳)】DevOps/.NET 微服务 秋季分享会,优惠门票等你来领 的以下10位同学微信联系我: geffzhang 领票

【.NET Core项目实战-统一认证平台】第七章 网关篇-自定义客户端限流

上篇文章我介绍了如何在网关上增加自定义客户端授权功能,从设计到编码实现,一步一步详细讲解,相信大家也掌握了自定义中间件的开发技巧了,本篇我们将介绍如何实现自定义客户端的限流功能,来进一步完善网关的基础功能。…

1.14 日志(递推ybtoj)

明天要模拟,n年未碰电脑,先不学新的了。。。。 1.错排问题 dp最棒了 code: #include #include #include #include #include using namespace std; const int MINT_MAX; long long f[25][25]{ };//f[i][j]表示有i个数,其中j个数可以随便填 …

平面分割 题解(1.16 递推模拟)

平面分割 代码一行,解析一箱~~ 解析 计f[i]:从1到i累加之和 先假设最好情况,p2; 此时第一条会增加1个 第二条与第一条相交,再加2个 第三条与前2条相交,再加3个 … 故n条时共增加f[n]个,共f[n]…

.NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core。既然是快速入门所以过多过深…