博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2017发布微服务到docker
阅读量:5972 次
发布时间:2019-06-19

本文共 1287 字,大约阅读时间需要 4 分钟。

1.本文档以eShopOnContainers.sevices.identity为描述对象,并包含docker for windows的部分配置流程。

2.前置环境:win10操作系统。安装VS2017NODEJS(下载LTS版本)、dockerhyper-vsql2012

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或者powershellpowershell可以通过kitematic的左下角打开。

 

 

10.创建Identity.api的容器。

  • powershellcdidentity.api的发布根目录。注:如果是根目录是需要修改Dockerfile文件的否则,会buildcopy不成功。
  • 修改Dockerfile。注意要么是在发布之前修改项目里的,发布之后就是修改发布的文件夹里的。不论原本是写的什么,此处改成如图所示。

     

  • 修改数据库链接。打开appsettings.json。修改连接字符串,我本机的IP192.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.参考:

13.特别感谢参考文档的作者

转载于:https://www.cnblogs.com/bournexxl/p/7094203.html

你可能感兴趣的文章
【Mysql】命令行
查看>>
Asterisk 安装与配置
查看>>
SQL2008-中不想插入从复记录
查看>>
.Net基础
查看>>
AES加密算法原理
查看>>
《Programming WPF》翻译 第8章 4.关键帧动画
查看>>
iOS UI基础-16.0 UIButton
查看>>
屏蔽各大视频网站播放前15秒30秒广告
查看>>
进入TP-Link路由器之后利用快捷键F12查看星号路由密码的方法
查看>>
linux内核的oops
查看>>
基于Token的WEB后台认证机制
查看>>
[MODx] Build a CMP (Custom manager page) using MIGX in MODX 2.3 -- 2
查看>>
uiimageview 异步加载图片
查看>>
屏幕录像专家注册机破解方法
查看>>
SPIE Example References
查看>>
2015阿里巴巴秋招在线笔试题
查看>>
前缀式计算(前缀表达式)
查看>>
poj2728 Desert King --- 01分数规划 二分水果。。
查看>>
iOS边练边学--介绍布局的三种方法
查看>>
[React] React Router: Nested Routes
查看>>