VS2017发布微服务到docker
1.本文档以eShopOnContainers.sevices.identity为描述对象,并包含docker for windows的部分配置流程。
2.前置环境:win10操作系统。安装VS2017、NODEJS(下载LTS版本)、docker、hyper-v、sql2012。
3.VS2017编译Identity.Api。部分Nuget可能需要更新依次更新。注:部分包提示版本低,我的做法是更新为最新的。
4.VS2017选择发布Identity.Api.
5.运行docker。如果在win10下,安装docker for windows。同时必须安装NODEJS,并开启Hyper-v。当运行docker时会在hyper-v里生成一个虚拟机。
6.下载kitematic,解压到docker安装目录 例如:C:\Program Files\Docker ,并以kitematic为文件夹名保存。
7.下载core的运行环境镜像。打开kitematic,搜索aspnetcore,并选择create。注意此时是连接的国外服务器,不过由于文件不大所以可以不需要使用国内镜像加速器。
8.修改docker的虚拟机网络连接。注:此步骤是为了在测试环境下容器里程序访问宿主机的数据库,生产环境需要其他方法,比如直接使用linux服务器。修改网络连接为“连接外网”,连接外网是提前设置好的,此处原本是DockrNAT。
9.打开cmd或者powershell。powershell可以通过kitematic的左下角打开。
10.创建Identity.api的容器。
- 在powershell里cd到identity.api的发布根目录。注:如果是根目录是需要修改Dockerfile文件的否则,会build时copy不成功。
- 修改Dockerfile。注意要么是在发布之前修改项目里的,发布之后就是修改发布的文件夹里的。。不论原本是写的什么,此处改成如图所示。
- 修改数据库链接。打开appsettings.json。修改连接字符串,我本机的IP是192.168.1.19所以此处改成这个,如果hyper-v里不修改连接方式,则死活不能连接数据库,其他方式我没试出来。有更好方法的大家可以提出来。
- 在powershell里,运行 docker build -t identity:01 . 具体语法参考docker的命令,注意最后有个” .”。
- 运行docker run -p 8888:80 --name identity -d identity:01 端口部分我没有改,直接使用的参考文档里的写法,在VS2017里运行identity.api时默认端口是5105,此处也可以把8888改成5105.此时会看到kitematic里有一个identity被创建,等待其加载完成即可访问。
11.数据库会在第一次运行时自动创建。
12.参考:http://www.cnblogs.com/inday/p/identity-service-eshoponcontainers.html。
13.特别感谢参考文档的作者James.Ying。
VS2017发布微服务到docker的更多相关文章
- 微服务与Docker介绍
什么是微服务 微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源.这是因为它们通过扩展组件来处理功能瓶颈问题.这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个 ...
- CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
- 微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开发持续集成的流程 ...
- 详解k8s零停机滚动发布微服务 - kubernetes
1.前言 在当下微服务架构盛行的时代,用户希望应用程序时时刻刻都是可用,为了满足不断变化的新业务,需要不断升级更新应用程序,有时可能需要频繁的发布版本.实现"零停机"." ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_汇总
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务s ...
- .net core 微服务架构-docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务(asp.net core web api)
本文主要介绍通过Docker来部署通过.Net Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(asp.net c ...
- .NET Core 微服务架构-Docker部署
本文主要介绍通过Docker来部署通过.NET Core开发的微服务架构,部署的微服务主要包括统一网关(使用Ocelot开发).统一认证(IdentityServer4).应用服务(ASP.NET C ...
- 微服务SpringCloud+Docker入门到高级实战(教程详情)
第一章 课程介绍和学习路线 1.微服务架构SpringCloud课程介绍 简介:课程介绍和课程大纲讲解,讲课风格和重点内容理解技巧 2.技术选型和学后水平 简介:课程所需基础和技术选型讲解,学完课程可 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...
随机推荐
- 长大DeepMind第一次团队作业
1.队名 长大DeepMind 2.队员风采 学号 姓名 擅长的技术 编程的兴趣点 希望承担的角色 一句话宣言 B20150304508 晏司举 JAVA,ssm框架,MySQL数据库 JAVA后台服 ...
- TOEFL考试(一年半的复仇,裸考)
8/11/2018 had a TOEFL test without preparation. Reading (worry about too much, not familiar with the ...
- 西汉姆VS利物浦,铁锤『拳』出击,打回原『菱』形
一.铁锤,还是铁桶? 铁锤帮西汉姆今晚摆出4-2-3-1对阵红军利物浦的4-3-3 ,阿勒戴斯曾在主场2-1战胜赫尔城时被球迷嘘,嫌他的足球太过丑陋『2010年的时候贝尼特斯也曾经诟病阿勒戴斯带队 ...
- hdu-1754 I Hate It---线段树模板题
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1754 题目大意: 求区间最大值+单点修改 解题思路: 直接套用模板即可 #include<bi ...
- 2014-2015 ACM-ICPC East Central North America Regional Contest (ECNA 2014) A、Continued Fractions 【模拟连分数】
任意门:http://codeforces.com/gym/100641/attachments Con + tin/(ued + Frac/tions) Time Limit: 3000/1000 ...
- Blog 使用Jsoup解析出html中的img元素
Jsoup主页:http://jsoup.org/ 在Blog.java 加入 private List<String> imageList=new LinkedList<Strin ...
- Vue node.js商城-购物车模块
一.渲染购物车列表页面 新建src/views/Cart.vue获取cartList购物车列表数据就可以在页面中渲染出该用户的购物车列表数据 data(){ return { car ...
- CommonJs模块规范
1.什么是模块化 文件作用域 通信规则 加载 require 导出 exports 2.CommonJs模块规范 在Node中的Javascript还有一个很重要的概念:模块概念 模块作用域 使用re ...
- 前行记录 - NOIP2018游记
NOIP2018游记 - 前行记录 NOIP2018 完跪……滚回学校考半期 QwQ 这篇不是题解 awa ,题解之后会发布的,毕竟我还没有AC呢 又及……G2020 陌路笙歌 - 再见(╯▽╰) 感 ...
- jdbc学习笔记02
数据库连接池 DBCP DataBase Conection Pool:数据库连接池 如果没有数据库连接池,每一次业务都需要服务器和数据库服务器建立一次连接,业务处理完连接断开,如果有1万次业务处理, ...