[eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置
一、 核心步骤
- Git clone https://github.com/dotnet-architecture/eShopOnContainers.git
git 克隆 项目 - Open solution eShopOnContainers-ServicesAndWebApps.sln with VS2017
打开指定项目 - Set the VS startup project to the "docker-compose" project
设置启动项目 - Hit F5!
运行项目
起始要真的这么简单就好了,坑实在是多,下面开始一个一个排吧
二、Windows 下其他配套软件配置
- Hyper-V
Windows 10 自带,只需要用 power-Shell 开启就行。装这个还是为了 Docker 的正常运行
- 使用超管运行 power-shell ,敲入命令:
Enable-WindowsOptionalFeature -Online -FeatureName:Microsoft-Hyper-V -All
Docker ce for Windows
直接上官网下载安装Docker 配置
- docker for windows 是使用 Hyper-v 运行了一个 Linux 虚拟,所以 Hyper-v 是必须的。
要注意虚拟机系统互相打架,下面信息我就不翻译了:
IMPORTANT: Check that you don't have any other hypervisor installed that might be not compatible with Hyper-V. For instance, Intel HAXM can be installed by VS 2017 if you chose to install Google's Android emulator which works on top of Intel HAXM. In that case, you'd need to uninstall Google's Android emulator and Intel HAXM. VS 2017 recommends to install the Google Android emulator because it is the only Android emulator with support for Google Play Store, Google Maps, etc. However, take into account that it currently is not compatible with Hyper-V, so you might have incompatibilities with this scenario.
要想此项目中所有的容器运行正常,推荐配置 docker 使用 3 cpu 和 4G 内存
所以,开发机器配置最好是不低于 16G,4核,这是个大坑,一般不玩游戏的程序员,现在用 16G 本子的应该不多吧.... 看来俺的老机器该升级了Shared Drives 这里也是个坑,我编译了3、4 次没通过,就是没有把这块所有硬盘都选中。也有说必须是选中 C 盘。
其实应该没必要全部选中,但我的就是跑不起来,有人也说,把复选框取消,再选中,或者重启可以解决运行项目时的错误,暂时没试Network配置 按默认的就行
开启Windows防火墙指定端口 控制面板 - 防火墙 - 高级设置 - 入站规则
添加 端口 5100-5110
三、 加载项目 运行
最麻烦的还是 docker 这块设置,如果搞定了,机器配置够的话,运行还是很顺的。
- 设置 docker-compose 为启动项目,确保 docker 运行中,运行项目
- 成功后,会看到浏览器中加载 eshop 网站
- 可以在 power-shell 中,运行命令 docker ps 查看正在运行中的 docker 容器
四、Web SAP 应用配置
If you want to run/test the web eShopOnContainers SPA (Single Page Application) client in adition to the regular MVC Web app, you need to install certain dependencies for the client side and build it with "npm build", as the client side of the SPA app is based on ANGULAR 2, TypeScript and other JS frameworks and compilation that needs to happen before building the Docker images. The process is described in detail here: https://github.com/dotnet-architecture/eShopOnContainers/wiki/06.-Setting-the-Web-SPA-application-up
五、多容器中断点调试
和正常调试类似,虽然项目运行在 docker 容器中,但是在 vs 源代码中,添加断点照样可以正常进行调试,比较神奇,这也是 vs 2017 的强大之处吧。
六、测试 SPA web APP
七、测试微服务 Swagger
容器运行状态下,使用 http://localhost:5101 进行测试
八、应用和微服务列表
- Web MVC: http://localhost:5100
测试用户账号
User: demouser@microsoft.com
Password: Pass@word1 - Web Spa: http://localhost:5104 (Important, check how to set up the SPA app and requirements before building the Docker images. Instructions at * https://github.com/dotnet/eShopOnContainers/wiki/06.-Setting-the-Web-SPA-application-up)
- 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
- 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
九、手机端测试
可以测试 Xamarin app 在真实的 ios、Android 或 windows 设备上,但如果运行 android 虚拟机的话,不能用 google 的,只能用 vs 的,他们互相冲突,会导致 docker 不能用,系统蓝屏重启
You can deploy the Xamarin app to real iOS, Android or Windows devices. You can also test it on an Android Emulator based on Hyper-V like the Visual Studio Android Emulator (Do NOT install the Google's Android emulator or it will break Docker and Hyper-V, as mentioned above).
步骤(团队暂时用不着,就不翻了):
- Disable mock-services in the Xamarin app by setting the UseMockServices = false in the App.xaml.cs and specify the host IP in BaseEndpoint = "http://10.106.144.28" at the GlobalSettings.cs. Both files in the Xamarin.Forms project (PCL).
- Another alternative is to change that IP through the app UI, by modifying the IP address in the Settings page of the App as shown in the screenshot below.
- In addition, you need to make sure that the used TCP ports of the services are open in the local firewall.
[eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置的更多相关文章
- Redis学习系列二之.Net开发环境搭建及基础数据结构String字符串
一.简介 Redis有5种基本数据结构,分别是string.list(列表).hash(字典).set(集合).zset(有序集合),这是必须掌握的5种基本数据结构.注意Redis作为一个键值对缓存系 ...
- hibernate学习系列-----(1)开发环境搭建
其实一两个月前就在了解hibernate方面的知识了,但一直以来,都没有好好的总结,而且一直使用的是myeclipse,感觉有些傻瓜式的操作就可以搭建起hibernate的开发环境,但这样一点都不好, ...
- Direct3D11学习:(一)开发环境配置
转载请注明出处:http://www.cnblogs.com/Ray1024 从今天开始,开启一个新的系列:Direct3D11的学习教程. 因为一直对3D方面比较感兴趣,最近决定开始学习D3D知 ...
- 《objective-c基础教程》学习笔记 (一)—— 开发环境配置和简单类型输出
懒惰是富有最大的敌人,再不前进,我们就out了.最近工作比较轻松,不是很忙.于是想晚上下班回家学习点新东西.看着苹果大军的一天天壮大,心里也是痒痒的.于是就想先系统的学习下Objective-C,为之 ...
- go语言学习之路 一:开发环境配置
1. 安装go 1)下载地址:http://www.golangtc.com/download,下载后直接双击msi文件安装,默认安装在c:\go 2)安装完成后默认会在环境变量 Path 后添加 G ...
- [eShopOnContainers 学习系列] - Index - 开篇索引
[资料] 学习资料来源于 eShopOnContainers wiki 以及 微软官方微服务架构指南 [eShopOnContainers 学习系列] - 00 - 开发环境需求 [eShopOnCo ...
- 开发环境配置--Ubuntu+Qt4+OpenCV(一)
同系列的文章 1. 开发环境配置--Ubuntu+Qt4+OpenCV(一) 2. 开发环境配置--Ubuntu+Qt4+OpenCV(二) 3. 开发环境配置--Ubuntu+Qt4+OpenCV( ...
- [eShopOnContainers 学习系列] - 00 - 开发环境需求
开发环境需求 https://github.com/dotnet-architecture/eShopOnContainers/wiki/00.-Dev-machine-requirements 我的 ...
- scrapy爬虫学习系列一:scrapy爬虫环境的准备
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
随机推荐
- is和==的区别以及编码、解码
一.is和==的区别 1,id( ) id( )是python的一个内置函数,通过id( )我们可以查看到一个变量表的值在内存中的地址: s1 = 2 print(id(s1)) # 15143680 ...
- How to make TWebBrowser get focus in Delphi
How to make TWebBrowser get focus in Delphi Written by Administrator Tags: Delphi Twebbrowse ...
- Codeforces Round #475 (Div. 2)
B. Messages 题意:有n个消息分别在ti的时候收到.设所有消息收到时初始值为A,每过一秒,其值减去B.当在某一秒选择读某个消息时,获值为当前消息的值:如果在某一秒结束的时候,手上有k则消息未 ...
- c# Datagridview 设置单位格为编辑状态(in editing mode)
private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Tab && ...
- 错误:未启用当前数据库的SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker。
解决方法: 打开SQL Server,新建查询: ALTER DATABASE 数据库名 SET NEW_BROKER WITH ROLLBACK IMMEDIATE;ALTER DATABASE 数 ...
- insert获取主键、联合关联查询
联合查询
- nginx ip无法访问
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭firewall: systemctl stop firewalld.service #停止f ...
- REST API风格
REST API风格 就是用URL定位资源,用HTTP描述操作. 看Url就知道要什么看http method就知道干什么看http status code就知道结果如何 主要是针对资源进行资源定 ...
- SQL生成一串随机数
SELECT RIGHT (CONVERT(VARCHAR(20),CONVERT(DECIMAL(20,15),rand())),15) AS c_random_number
- BeatSaber节奏光剑双手柄MR教程
一.物料准备: 1 显卡1060及以上的PC主机 2 HTC VIVE头盔一套(头盔直插显卡上的HDMI接口) 3 1080P摄像头一个(插USB3.0) 4 绿幕一套,能覆盖整个摄像头的可拍摄范围即 ...