这个教程主要是对于第一次使用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 微服务教程相关推荐

  1. javaweb k8s_K8S微服务核心架构学习指南 ASP.NET Core微服务基于K8S 架构师必备Kubernetes教程...

    K8S微服务核心架构学习指南 ASP.NET Core微服务基于K8S 架构师必备Kubernetes教程 课程内容是关于Kubernetes微服务架构学习课程,基于K8S开展ASP.NET核心进行微 ...

  2. npm——安装教程、安装vue脚手架(ASP.NET Core微服务(五)——【vue脚手架解析接口】过度章节)

    npm:是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 比如常用的有: 1)允许用户从NPM服务器下载别人编写的第三方包到本地使用. 2)允许用户从NPM服务器下载并 ...

  3. .NET Core微服务之路:基于Ocelot的API网关实现--http/https协议篇

    前言 最近一直在忙公司和私下的兼职,白天十个小时,晚上四个小时,感觉每天都是打了鸡血似的,精神满满的,连自己那已经学打酱油的娃都很少关心,也有很长一段时间没有更新博客了,特别抱歉,小伙伴们都等得想取关 ...

  4. .NET Core微服务之基于Consul实现服务治理

    一.Consul基础介绍 Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb的SmartStack等相比,Co ...

  5. NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成...

    原文:NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成 本篇内容属于非实用性(拿来即用)介绍,如对框架设计没兴趣的朋友,请略过. 快一个月没有写博 ...

  6. .net core ocelot 获取路由的mothed_Net Core微服务入门全纪录(四)Ocelot网关(上)

    上一篇[.Net Core微服务入门全纪录(三)--Consul-服务注册与发现(下)]已经使用Consul完成了服务的注册与发现,实际中光有服务注册与发现往往是不够的,我们需要一个统一的入口来连接客 ...

  7. .Net Core微服务架构技术栈的那些事

    一.前言 大家一直都在谈论微服务架构,园子里面也有很多关于微服务的文章,前几天也有一些园子的朋友问我微服务架构的一些技术,我这里就整理了微服务架构的技术栈路线图,这里就分享出来和大家一起探讨学习,同时 ...

  8. 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发...

    <ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...

  9. 【NET CORE微服务一条龙应用】应用部署

    简介 本章主要介绍https://github.com/q315523275/FamilyBucket上微服务一条龙应用,在实际使用中的应用部署,以原始方式部署非docker 部署应用主要包括: 1. ...

最新文章

  1. 豪赌 ARM 梦碎:63 岁孙正义的「花甲历险记」
  2. iOS 通知观察者的被调函数不一定运行在主线程
  3. $_FILES error(笔记)
  4. 案例开发分析 || ​​​​​​​Scheduler组件
  5. Android导入第三方静态库.a编译成动态库.so
  6. 什么是软件测试资产,观点:当前是国内推广软件资产管理的最佳时期
  7. qmake manual=Variables
  8. android 图片上传图片 报Socket: Broken pipe
  9. Docker教程小白实操入门(17)--如何使用run -v创建一个数据卷
  10. 微信聊天小程序——(四、聊天页面)
  11. 项管:配置管理、变更管理、文档管理、知识管理及其他
  12. 分享常见的视频加密算法原理及其优缺点
  13. VCT空间数据交换格式数据的检测方法研究
  14. python相关参考文献_[编程]Python数据分析
  15. 1875.贝茜的报复
  16. 从零玩转jQuery之项目开发(QQ音乐播放器)
  17. 远古VOD系统相关操作
  18. 零基础学习python人工智能考试_零基础自学Python人工智能,看这些资料就够了
  19. python教程输入_Python教程(2.5)——控制台输入
  20. 为什么Win10的bug比Win7多了这么多?

热门文章

  1. icloud 购买存储空间_如何释放iCloud存储空间
  2. 原生js打印指定节点元素
  3. some demos
  4. 在PowerDesigner中设计物理模型1——表和主外键
  5. 安装Wamp时出现无法启动此程序,因为计算机中丢失MSVCR110.dll的解决方法
  6. 判断三点是顺时针还是逆时针方向
  7. VMware Workstation(虚拟机) V6.0.2 Build 59824 汉化版 |
  8. 细聊.NET6 ConfigurationManager的实现
  9. .NET Core 中有等价的 HttpContext.Response.Cache 吗?
  10. Asp.Net Core 5 REST API 使用 JWT 身份验证 - Step by Step(二)