dotnet core 微服务教程
这个教程主要是对于第一次使用dotnet core开发的同学。
运行环境是在centos 7 ,
使用了docker容器。
即这是一篇运行在linux的docker容器上的微服务的简单应用。
一. 安装.NET SDK
安装.NET之前,先安装一些依赖,运行下面的命令
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
安装成功后,再安装.NET SDK
sudo yum update //对整个系统升级sudo yum install dotnet-sdk-2.2 //安装.net sdk
检验下是否安装成功
dotnet
二.创建服务
运行下面的命令
dotnet new webapi -o myMicroservice --no-httpscd myMicroservice
dotnet会创建一个webapi类型的应用。
-o :表示会创建一个名字为myMicroservice的目录
--no-https :表示这个应用运行的时候不需要https证书,这是为了部署时方便
cd myMicroservice:表示进入到这个新创建的目录
上面的命令运行以后会生成一些文件,这里对部分文件进行讲解:
myMicroservice.csproj:定义了这个应用引用 的一些 libraries
Startup.cs:包含所有的setting和应用启动时的配置文件
Controllers/ValuesController.cs:是一个简单的api
[Route("api/[controller]")][ApiController]public class ValuesController : ControllerBase{// GET api/values [HttpGet]public ActionResult<IEnumerable<string>> Get() {return new string[] { "value1", "value2" }; }}
三.运行服务
dotnet run
输入:http://localhost:5000/api/Values 浏览效果
四.安装Docker
这里得说下,我这个安装的有点曲折,本来准本在win7上直接装windows版的,后来发现得win10才行,没办法,装了个Vmware虚拟机,又想着虚拟机都装了,干脆装个linux吧,然后就下了Centos,然后发现中间使用的时候网络有问题,又各种搜,最后把虚拟机的网络设置设置成了桥接,网络能用了,因为下面有用到y um命令,所以必须保证网络可用。
这里先把网址给出来,有需要的同学可以看下官网的安装说明(有3中方式,这里只介绍一种yum方式):docker的Centos安装
1.首先安装一些必要的包。yum-utils是用来提供yum-config-manager工具的,devicemapper驱动依赖的是device-mapper-persistent-data
和 lvm2两个包。
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
2.安装稳定的库
sudo yum-config-manager \--add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
3.列出库中可用的docker版本,选择版本安装
yum list docker-ce
4.安装指定的版本。
sudo yum install docker-ce
5.启动并加入开机启动
$ sudo systemctl start docker$ sudo systemctl enable docker
6.检验是否安装成功
docker --version
五.添加Docker元数据(Docker metadata)
想要让docker镜像(docker image)运行,你需要一个Dockerfile文件。这个文件中包含怎么把应用打包成镜像的说明。
1.进入应用目录
cd myMicroservice
2.新增一个Dockerfile
echo . > Dockerfile
把下面的内容复制到里面
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS baseWORKDIR /app FROM microsoft/dotnet:2.2-sdk AS buildWORKDIR /srcCOPY myMicroservice.csproj myMicroservice/RUN dotnet restore myMicroservice/myMicroservice.csprojWORKDIR /src/myMicroserviceCOPY . .RUN dotnet build myMicroservice.csproj -c Release -o /app FROM build AS publishRUN dotnet publish myMicroservice.csproj -c Release -o /app FROM base AS finalCOPY --from=publish /app .ENTRYPOINT ["dotnet", "myMicroservice.dll"]
六.创建一个Docker镜像
docker build -t mymicroservice .
docker build命令使用Dockerfile中的信息建立一个docker镜像
-t mymicroservice:把镜像命名为 mymicroservice
. :表示Dockerfile在当前目录
列出可用的镜像
docker image ls
七. 运行Docker镜像
执行下面的命令
docker run -it --rm -p 3000:80 mymicroservice
访问下面的网址:http://localhost:3000/api/values
好了,结束。
以上操作经过验证,如果有问题可以参考网址如下:
https://dotnet.microsoft.com/learn/web/aspnet-microservice-tutorial/run-docker 微软microservice教程
https://docs.docker.com/install/linux/docker-ce/centos/ docker安装教程
https://www.cnblogs.com/yufeng218/p/8370670.html docker安装相关
原文地址:https://www.cnblogs.com/Vincent-yuan/p/10707308.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
dotnet core 微服务教程相关推荐
- javaweb k8s_K8S微服务核心架构学习指南 ASP.NET Core微服务基于K8S 架构师必备Kubernetes教程...
K8S微服务核心架构学习指南 ASP.NET Core微服务基于K8S 架构师必备Kubernetes教程 课程内容是关于Kubernetes微服务架构学习课程,基于K8S开展ASP.NET核心进行微 ...
- npm——安装教程、安装vue脚手架(ASP.NET Core微服务(五)——【vue脚手架解析接口】过度章节)
npm:是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 比如常用的有: 1)允许用户从NPM服务器下载别人编写的第三方包到本地使用. 2)允许用户从NPM服务器下载并 ...
- .NET Core微服务之路:基于Ocelot的API网关实现--http/https协议篇
前言 最近一直在忙公司和私下的兼职,白天十个小时,晚上四个小时,感觉每天都是打了鸡血似的,精神满满的,连自己那已经学打酱油的娃都很少关心,也有很长一段时间没有更新博客了,特别抱歉,小伙伴们都等得想取关 ...
- .NET Core微服务之基于Consul实现服务治理
一.Consul基础介绍 Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb的SmartStack等相比,Co ...
- NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成...
原文:NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成 本篇内容属于非实用性(拿来即用)介绍,如对框架设计没兴趣的朋友,请略过. 快一个月没有写博 ...
- .net core ocelot 获取路由的mothed_Net Core微服务入门全纪录(四)Ocelot网关(上)
上一篇[.Net Core微服务入门全纪录(三)--Consul-服务注册与发现(下)]已经使用Consul完成了服务的注册与发现,实际中光有服务注册与发现往往是不够的,我们需要一个统一的入口来连接客 ...
- .Net Core微服务架构技术栈的那些事
一.前言 大家一直都在谈论微服务架构,园子里面也有很多关于微服务的文章,前几天也有一些园子的朋友问我微服务架构的一些技术,我这里就整理了微服务架构的技术栈路线图,这里就分享出来和大家一起探讨学习,同时 ...
- 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发...
<ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...
- 【NET CORE微服务一条龙应用】应用部署
简介 本章主要介绍https://github.com/q315523275/FamilyBucket上微服务一条龙应用,在实际使用中的应用部署,以原始方式部署非docker 部署应用主要包括: 1. ...
最新文章
- 豪赌 ARM 梦碎:63 岁孙正义的「花甲历险记」
- iOS 通知观察者的被调函数不一定运行在主线程
- $_FILES error(笔记)
- 案例开发分析 || ​​​​​​​Scheduler组件
- Android导入第三方静态库.a编译成动态库.so
- 什么是软件测试资产,观点:当前是国内推广软件资产管理的最佳时期
- qmake manual=Variables
- android 图片上传图片 报Socket: Broken pipe
- Docker教程小白实操入门(17)--如何使用run -v创建一个数据卷
- 微信聊天小程序——(四、聊天页面)
- 项管:配置管理、变更管理、文档管理、知识管理及其他
- 分享常见的视频加密算法原理及其优缺点
- VCT空间数据交换格式数据的检测方法研究
- python相关参考文献_[编程]Python数据分析
- 1875.贝茜的报复
- 从零玩转jQuery之项目开发(QQ音乐播放器)
- 远古VOD系统相关操作
- 零基础学习python人工智能考试_零基础自学Python人工智能,看这些资料就够了
- python教程输入_Python教程(2.5)——控制台输入
- 为什么Win10的bug比Win7多了这么多?
热门文章
- icloud 购买存储空间_如何释放iCloud存储空间
- 原生js打印指定节点元素
- some demos
- 在PowerDesigner中设计物理模型1——表和主外键
- 安装Wamp时出现无法启动此程序,因为计算机中丢失MSVCR110.dll的解决方法
- 判断三点是顺时针还是逆时针方向
- VMware Workstation(虚拟机) V6.0.2 Build 59824 汉化版 |
- 细聊.NET6 ConfigurationManager的实现
- .NET Core 中有等价的 HttpContext.Response.Cache 吗?
- Asp.Net Core 5 REST API 使用 JWT 身份验证 - Step by Step(二)