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安裝相關

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM