dotnet core 微服务教程
這個教程主要是對于第一次使用dotnet core開發(fā)的同學(xué)。
運行環(huán)境是在centos 7 ,
使用了docker容器。
?
即這是一篇運行在linux的docker容器上的微服務(wù)的簡單應(yīng)用。
一. 安裝.NET SDK
安裝.NET之前,先安裝一些依賴,運行下面的命令
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm安裝成功后,再安裝.NET SDK
sudo yum update //對整個系統(tǒng)升級sudo yum install dotnet-sdk-2.2 //安裝.net sdk
檢驗下是否安裝成功
dotnet?
二.創(chuàng)建服務(wù)
運行下面的命令
dotnet new webapi -o myMicroservice --no-httpscd myMicroservice
dotnet會創(chuàng)建一個webapi類型的應(yīng)用。
-o :表示會創(chuàng)建一個名字為myMicroservice的目錄
--no-https :表示這個應(yīng)用運行的時候不需要https證書,這是為了部署時方便
cd myMicroservice:表示進(jìn)入到這個新創(chuàng)建的目錄
?
上面的命令運行以后會生成一些文件,這里對部分文件進(jìn)行講解:
myMicroservice.csproj:定義了這個應(yīng)用引用 的一些 libraries
Startup.cs:包含所有的setting和應(yīng)用啟動時的配置文件
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" };
}
}
三.運行服務(wù)
dotnet run輸入:http://localhost:5000/api/Values 瀏覽效果
?
四.安裝Docker
這里得說下,我這個安裝的有點曲折,本來準(zhǔn)本在win7上直接裝windows版的,后來發(fā)現(xiàn)得win10才行,沒辦法,裝了個Vmware虛擬機(jī),又想著虛擬機(jī)都裝了,干脆裝個linux吧,然后就下了Centos,然后發(fā)現(xiàn)中間使用的時候網(wǎng)絡(luò)有問題,又各種搜,最后把虛擬機(jī)的網(wǎng)絡(luò)設(shè)置設(shè)置成了橋接,網(wǎng)絡(luò)能用了,因為下面有用到y(tǒng) um命令,所以必須保證網(wǎng)絡(luò)可用。
這里先把網(wǎng)址給出來,有需要的同學(xué)可以看下官網(wǎng)的安裝說明(有3中方式,這里只介紹一種yum方式):docker的Centos安裝
1.首先安裝一些必要的包。yum-utils是用來提供yum-config-manager工具的,devicemapper驅(qū)動依賴的是device-mapper-persistent-data?和?lvm2兩個包。
sudo yum install -y yum-utils \device-mapper-persistent-data \
lvm2
2.安裝穩(wěn)定的庫
sudo yum-config-manager \--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.列出庫中可用的docker版本,選擇版本安裝
yum list docker-ce4.安裝指定的版本。
sudo yum install docker-ce5.啟動并加入開機(jī)啟動
$ sudo systemctl start docker$ sudo systemctl enable docker
6.檢驗是否安裝成功
docker --version?
五.添加Docker元數(shù)據(jù)(Docker metadata)
想要讓docker鏡像(docker image)運行,你需要一個Dockerfile文件。這個文件中包含怎么把應(yīng)用打包成鏡像的說明。
1.進(jìn)入應(yīng)用目錄
cd myMicroservice2.新增一個Dockerfile
echo . > Dockerfile把下面的內(nèi)容復(fù)制到里面
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"]
六.創(chuàng)建一個Docker鏡像
docker build -t mymicroservice .docker build命令使用Dockerfile中的信息建立一個docker鏡像
-t mymicroservice:把鏡像命名為 mymicroservice
. :表示Dockerfile在當(dāng)前目錄
?
列出可用的鏡像
docker image ls?
?七. 運行Docker鏡像
執(zhí)行下面的命令
docker run -it --rm -p 3000:80 mymicroservice訪問下面的網(wǎng)址:http://localhost:3000/api/values
?
好了,結(jié)束。
以上操作經(jīng)過驗證,如果有問題可以參考網(wǎng)址如下:
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安裝相關(guān)
原文地址:https://www.cnblogs.com/Vincent-yuan/p/10707308.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結(jié)
以上是生活随笔為你收集整理的dotnet core 微服务教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Abp vNext 源码分析] - 3
- 下一篇: 请给你的短信验证码接口加上SSL双向验证