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-https cd 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 base workdir /app from microsoft/dotnet:2.2-sdk as build workdir /src copy mymicroservice.csproj mymicroservice/ run dotnet restore mymicroservice/mymicroservice.csproj workdir /src/mymicroservice copy . . run dotnet build mymicroservice.csproj -c release -o /app from build as publish run dotnet publish mymicroservice.csproj -c release -o /app from base as final copy --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安装相关
上一篇: DS控件库 DS开放式下拉列表
推荐阅读
-
ASP.NET Core依赖注入系列教程之服务的注册与提供
-
微信小程序访问node.js接口服务器搭建教程
-
企业微信注册时显示会话服务已经被安装了怎么解决 解决攻略教程大全
-
微信怎么关闭小米会员扣费?微信关闭小米会员扣费服务教程
-
微信怎么关闭小米会员扣费?微信关闭小米会员扣费服务教程
-
微信公众号会员卡服务在哪里? 微信公众号开通会员卡服务的教程
-
本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上
-
ASP.NET Core依赖注入系列教程之服务的注册与提供
-
.net core3.0部署Linux服务器 使用Docker容器和Nginx反代理教程
-
c# .Net Core静态文件服务器的新人入门教程