当前位置: 移动技术网 > IT编程>开发语言>.net > dotnet core 微服务教程

dotnet core 微服务教程

2019年04月15日  | 移动技术网IT编程  | 我要评论

renwu,西田麻衣qvod,甲乙丙丁戊己庚辛壬癸猜一字

 

这个教程主要是对于第一次使用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://www.lhsxpumps.com/_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://www.lhsxpumps.com/_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安装相关

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网