最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

时讯:.NET 微服务入门

来源:博客园

前置条件

  1. 安装 .NET SDK (目前.NET 7.0) 2023年6月10日
  2. 安装Docker

前置条件自己搞定。

检查.NET 和Docker 是否安装成功

#查看.NET 是否安装成功dotnet --version#查看 Docker 是否安装成功docker --version

说明: 由于我这边安装了最新.NET 8 预览版所以显示的是最新的版本。具体看自己的安装版本。


(资料图片)

创建服务

可以使用 .NET CLI 命令创建或 VS 创建。

这里直接用 .NET CLI 命令创建

dotnet new webapi -o MyMicroservice --no-https -f net7.0

** 命令说明 :dotnet 命令:创建一个 webapi 项目-o 参数:创建 文件夹名 MyMicroservice 用于存放这个项目。--no-https:** 表示不使用 HTTPS证书。-f:表示要创建 .NET 7 的应用

cd MyMicroservice

命令说明:切换到 MyMicroservice 目录。

运行服务

dotnet run

浏览器访问接口:http://localhost:/WeatherForecast

添加 Docker 元数据

为了运行 Docker 镜像,我们需要一个 Dockerfile 文件。这个文件包含了如何构建我们的应用的镜像的说明。

Docker 镜像包含了作为 Docker 容器运行应用程序所需的内容。

**PS: **挖个坑,写一篇 Docker 相关的文章。

在我们应用的项目文件夹下创建 Dockerfile (在 MyMicroservice 文件夹下面)

文件名一定要叫 Dockerfile。

fsutil file createnew Dockerfile 0
start Dockerfile

将如下内容拷贝到 Dockerfile

FROM mcr.microsoft.com/dotnet/sdk:7.0 AS buildWORKDIR /srcCOPY MyMicroservice.csproj .RUN dotnet restoreCOPY . .RUN dotnet publish -c release -o /appFROM mcr.microsoft.com/dotnet/aspnet:7.0WORKDIR /appCOPY --from=build /app .ENTRYPOINT ["dotnet", "MyMicroservice.dll"]

PS:再挖个坑,写一篇 Dockerfile 相关的文章。可选项:添加 .dockerignore 文件.dockerignore 文件是为了在执行 docker build 命令时减少不必要的文件,从而加快构建速度。

fsutil file createnew .dockerignore 0
start .dockerignore

将下面内容拷贝到 .dockerignore 中。

Dockerfile[b|B]in[O|o]bj

创建 Docker 镜像

docker build -t mymicroservice .

命令说明:、docker build:使用 Dockerfile 去构建 Docker 镜像**-t mymicroservice 参数:镜像名称为 mymicroservice最后一个参数告诉使用哪个目录来查到 Dockerfile (. **指定当前工作目录)

创建完成结果:

构建完成后看一下本机的可用镜像有哪些

docker images

运行 Docker 镜像

docker run -it --rm -p 3000:80 --name mymicroservicecontainer mymicroservice

查看 当前正在运行的 docker 镜像

docker ps

关键词: