首页 > 其他分享 >.NET 微服务入门

.NET 微服务入门

时间:2023-06-10 17:00:47浏览次数:29  
标签:docker 服务 入门 dotnet 镜像 Docker Dockerfile NET

前置条件

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

前置条件自己搞定。

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

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

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

image.png

说明:
由于我这边安装了最新.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 build
WORKDIR /src
COPY MyMicroservice.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c release -o /app

FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /app
COPY --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
(
. **指定当前工作目录)

创建完成结果:
image.png

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

docker images

运行 Docker 镜像

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

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

docker ps

image.png

标签:docker,服务,入门,dotnet,镜像,Docker,Dockerfile,NET
From: https://www.cnblogs.com/SignX/p/17471524.html

相关文章

  • 如何修改服务器远程端口号3389?
    昨天给你们分享了电脑和服务器的安全基础知识,有讲到修改端口号,有必要时,这个端口,建议还是修改一下为好,最好改大一点,这样安全性会高一点,但如果面对高手级打击,就没有用了,通常高手级过NMAP扫描一个你的IP地址,端口便全部显现出来了。好了,下面我来告诉你们如何修改远程连接3389端口;首先......
  • 本地mysql服务无法启动 解决方案
    问题引入:在我启动SQLyog时,无法连接mysql,检查MYSQL服务,并无法手动启动,由此一下是解决步骤。首先,以管理员身份打开cmd。进入到mysql的bin目录,这里需要各位去文件找找路径;在bin下,删除mysqld的所有内容;​ mysqld--remove成功:Servicesuccessfullyremoved.......
  • 【React工作记录九十六】docker部署前后端项目在云服务器
    前言大家好我是歌谣最近开始前端和后端的学习需要部署项目在服务器上面命令部分目前只会部署的部分前端前彻底端的目录是在/ngng/html下面dockerrestartngng重新启动容器前端文件放置后端后端的文件在project下面步骤1dockerstopgeo2dockerrm-fgeo3dockerrmi-fgg......
  • Python+sklearn决策树算法使用入门
    在学习决策树算法之前,首先介绍几个相关的基本概念。决策树算法原理与sklearn实现简单地说,决策树算法相等于一个多级嵌套的选择结构,通过回答一系列问题来不停地选择树上的路径,最终到达一个表示某个结论或类别的叶子节点,例如有无贷款意向、能够承担的理财风险等级、根据高考时各科成......
  • java——微服务——spring cloud——Nacos——Nacos认识与安装
                   Nacos开发必知Nacos开发必知官网:https://nacos.io/zh-cn/index.htmlNocas文档:https://nacos.io/zh-cn/docs/what-is-nacos.htmlNocas下载:https://github.com/alibaba/nacos/releases  说明:1.4.0以下使用的mysql驱......
  • 2. docker的入门
    1.物理机演进到虚拟化部署1.1物理机部署在早期的项目部署中是非常繁琐和复杂的,通常就是一台物理机跑起来一个项目部署非常慢成本很高资源浪费难以扩展和迁移1.2虚拟部署 1.2.1虚拟机虚拟机的出现可以很好的解决物理机部署存在的问题一台物理机可以部署多个app......
  • 【Ubuntu22.04】配置静态IP地址和FTP服务
    ##一、配置静态IP1.使用命令`ipa`查看当前网卡名称,Ubuntu22.04默认网卡为ens33:![](https://img2023.cnblogs.com/blog/3081210/202306/3081210-20230610143107393-250043837.png)2.使用命令`tree/etc/netplan`查看默认网卡配置文件:![](https://img2023.cnblogs.com/blog/......
  • Net Core环境搭建Hangfire项目
    添加相关代码配置。1.因hangfire的任务需要数据库持久化,我们在Startup类中修改ConfigureServices,简单配置如下:varconnection=Configuration["ConnectionsStrings"];//数据库链接配置services.AddHangfire(x=>x.UseSqlServerStorage(connection));如果需要配置详细......
  • 高层次人才服务信息系统建设方案
    高层次人才是现代社会发展的重要力量,为了吸引和服务这些人才,需要建设高层次人才服务信息系统。下面是一个基本的建设方案:1.确定系统需求首先需要明确高层次人才对服务的需求,并进行分析,以此为基础确定系统的功能和特点。比如,高层次人才可能需要查询相关政策、获得专业咨询、获得创......
  • .net abp框架的好处
    ABP(ASP.NETBoilerplate)框架是一种流行的基于.NET平台的开源应用程序框架,它为开发者提供了一整套解决方案,可以帮助他们更加快速地构建高质量的分布式应用程序。ABP框架的主要好处包括:快速开发:ABP框架提供了一系列的代码生成器和基于集成测试的自动化测试工具,可以大大缩短开发......