.NET之Docker部署详细流程

开篇语

自己从头开始走一遍docker部署.net的流程,作为一种学习总结,以及后续会写一些在该基础之上的文章。

本次示例环境:vs2019、net5、docker、postman

创建项目

本次事例代码是用过vs2019创建的ASP.NET Core Web API项目

image.png

目标框架是.Net5,无需身份验证,不配置HTTPS(根据个人需求勾选),启动Docker(我习惯于后期添加),启用OpenAPI支持(添加swagger文档)

image.png

默认配置

创建完成后,我们查看项目目录为下

image.png

我们直接F5启动项目,发现直接跳转一个API文档页面

image.png

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

修改配置

我基于个人习惯,我修改launchSettings.json文件,删除IIS配置,删除后如下所示:

{"iisSettings": {"windowsAuthentication": false,"anonymousAuthentication": true,"iisExpress": {"applicationUrl": "http://localhost:51539","sslPort": 0}},"$schema": "http://json.schemastore.org/launchsettings.json","profiles": {"Net5ByDocker": {"commandName": "Project","launchBrowser": true,"launchUrl": "swagger","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"},"dotnetRunMessages": "true","applicationUrl": "http://localhost:5000"}}
}

删除默认控制器,添加新的控制器UserController,在里面添加默认一些方法操作,如下

基于个人习惯的操作,也可以不删除默认控制器

    [Route("api/[controller]/[action]")][ApiController]public class UserController : ControllerBase{public static List<string> userInfo = new();[HttpGet]public IEnumerable<string> Get(){return userInfo;}[HttpPost]public List<string> Post([FromBody] string value){if (!string.IsNullOrWhiteSpace(value))userInfo.Add(value);return userInfo.ToList();}[HttpDelete("{id}")]public List<string> Delete(string id){if (!string.IsNullOrWhiteSpace(id))userInfo.Remove(id);return userInfo.ToList();}}

其他配置保持默认,启动项目

image.png

生成镜像

添加dockerfile

选中项目右键添加docker支持,本次部署在windows平台

image.png

拉取基础镜像和sdk,还原nuget包,重新生成,发布

此时项目的目录结构为

image.png

运行命令

在文件资源管理器打开文件

image.png

在上层目录下运行cmd输入命令

docker build -f .\Net5ByDocker\Dockerfile -t net5sample .

在不同的目录下命令有些许差异,这点非常感谢我的朋友王老师

image.png

注意:可能部分朋友在这一步会拉取官方镜像比较慢,可以配置docker加速器使用

通过docker客户端查看我们已经生成的镜像

image.png

生成容器

本文通过Terminal软件执行命令

docker run --name net5sampleone -d -p 8060:80 net5sample

命令简述:

-d 后台运行

--name  容器名称

-p 端口映射

截至到这,我们已经把刚才的项目生成了容器,下面我们可以直接通过容器方法上面的项目

验证项目

通过浏览器访问地址:localhost:8060/swagger

image.png

懵逼!!!这个时候不是应该出来swagger文档的界面吗?难道我们部署的方式有问题?

让我们访问下项目的接口

image.png

说明我们的项目运行是正常的,仔细查看swagger配置后发现,因为为了安全默认不允许发布后出来swagger文档

image.png

如果是测试环境或者特殊情况可以通过调整swagger配置位置来显示文档

通过Postman访问

添加用户

image.png

查询用户

image.png

删除用户

image.png

再次运行查询接口数据已经为空了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

平凡而又神奇的贝叶斯方法

全世界有3.14 % 的人已经关注了数据与算法之美概率论只不过是把常识用数学公式表达了出来。 ——拉普拉斯记得读本科的时候&#xff0c;最喜欢到城里的计算机书店里面去闲逛&#xff0c;一逛就是好几个小时&#xff1b;有一次&#xff0c;在书店看到一本…

d.ts文件可以注释html吗,如何编写一个d.ts文件的步骤详解_旧店_前端开发者

前言本文主要讲怎么写一个typescript的描述文件(以d.ts结尾的文件名&#xff0c;比如xxx.d.ts)。最近开始从之前也从网上面也找了一些资料&#xff0c;但还是看的云里雾里模糊不清&#xff0c;经过一段摸索&#xff0c;将摸索的结果记录下来&#xff0c;也希望可以给别人一个参…

function里面可以写function吗_氨基酸可以和蜂蜜一起喝吗?蜂蜜里面有氨基酸吗?...

氨基酸可以和蜂蜜一起喝吗?蜂蜜里面有氨基酸吗?氨基酸是我们人体不可或缺的营养物质&#xff0c;那氨基酸这种物质是否可以搭配蜂蜜一同食用?不少朋友都存在类似的疑惑&#xff0c;氨基酸会对蜂蜜产生不良的影响吗?其实&#xff0c;蜂蜜中本身也包含不少的氨基酸&#xff0…

通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权-百度版...

目录&#xff1a;一、通过Dapr实现一个简单的基于.net的微服务电商系统二、通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解三、通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr四、通过Dapr实现一个简单的基于.net的微服…

各自用一句话来概括MVC、MVP、MVVM的差异特点

MVC&#xff1a; 用户的请求首先会到达Controller&#xff0c;由Controller从Model获取数据&#xff0c;选择合适的View&#xff0c;把处理结果呈现到View上&#xff1b; MVP&#xff1a; 用户的请求首先会到达View&#xff0c;View传递请求到特定的Presenter&#xff0c;Pre…

不用“背”单词,1个方法牢记7000单词:我是如何做到的?

全世界有3.14 % 的人已经关注了数据与算法之美上个月30号&#xff0c;我怀着忐忑的心情&#xff0c;再次打开了 词汇量测试网站。当我看到词汇量达到7190的时候&#xff0c;非常兴奋。以至于带着怀疑的态度测了第二次&#xff1a;7260。7000的词汇量是怎样的一个程度呢&#xf…

VS2005~VS2022,那些年用过的VS,致敬,青春!

微软在开发者博客上宣布了一则重磅消息 —— 众所期待的 Visual Studio 2022 开发工具包即将全面拥抱 64-bit&#xff0c;并将于今夏推出首个公共预览版本。笔者第一次接触的VS版本还是2005&#xff0c;那时候还在上大三&#xff0c;一眨眼的功夫&#xff0c;现在都VS2022了&am…

Cowboy 源码分析(十八)

在上一篇中&#xff0c;我们整理了下cowboy_http_protocol:header/3函数&#xff0c;在文章的末尾留下2个没有讲到的函数&#xff0c;今天&#xff0c;我们先看下cowboy_http_protocol:error_terminate/2函数&#xff0c;另一个函数下一篇&#xff0c;我们再看。cowboy_http_pr…

符合语言习惯的 Python 优雅编程技巧

Python最大的优点之一就是语法简洁&#xff0c;好的代码就像伪代码一样&#xff0c;干净、整洁、一目了然。要写出 Pythonic&#xff08;优雅的、地道的、整洁的&#xff09;代码&#xff0c;需要多看多学大牛们写的代码&#xff0c;github 上有很多非常优秀的源代码值得阅读&a…

compress后的bytearray再decode变大_笔记本电脑风扇噪音变大的原因及其解决办法

笔记本使用时间长了之后&#xff0c;风扇声音会变大&#xff0c;那么如何再把风扇声音变小呢&#xff1f;怎么减小笔记本风扇的噪音&#xff1f;是什么原因导致笔记本风扇声音变大&#xff1f;下面给大家介绍笔记本风扇声音变大的原因及其解决办法。原因&#xff1a;1、使用时间…

ML.NET 示例:对象检测-ASP.NET Core Web和WPF桌面示例

ML.NET 版本API 类型状态应用程序类型数据类型场景机器学习任务算法v1.5.0动态API最新端到端应用图像文件对象检测深度学习ONNX: Tiny YOLOv2 & Custom Vision问题对象检测是计算机视觉中的经典问题之一&#xff1a;识别给定图像中包含哪些对象以及它们在图像中的位置。对于…

120天的烧脑只为孩子设计一套教具~

小木研究了适合儿童学习计算机知识的书真的挺多&#xff0c;但是小木要推荐的这本真的是很接地气了&#xff0c;不管是热衷于研究技术的小机灵还是一说计算机逻辑就懵的小可爱们&#xff0c;看到这本萌萌哒电脑漫游记&#xff0c;都会忍不住对计算机越来越感兴趣。它深入浅出&a…

# 睡眠3秒_【for fun】睡眠排序算法

点击上方蓝字关注我&#xff0c;我们一起学编程有任何疑问或者想看的内容&#xff0c;欢迎私信前天我们一起看了猴子排序&#xff0c;今天我们再来看一个奇葩的排序方法&#xff1a;睡眠排序。所谓睡眠排序&#xff0c;就是为待排序数组的每一个元素 x 启动一个线程&#xff0c…

将U盘虚拟成软驱加载控制器驱动安装windows server 2003

转自: http://dengweihua1.blog.51cto.com/134932/293221仅支持9G&#xff0c;10G安装windows2003使用该软件后&#xff0c;U盘的数据会丢失&#xff01;使用该软件后&#xff0c;U盘将无法被Windows系统使用,恢复U盘在最下边。u 安装前的准备&#xff1a; 1. 按F2进入BIOS&…

超级智能玩具《小小机器人》首发|全新50种玩法,创造力之源

致砖《小小机器人》套装全新首发电动机械的完美结合先来看看视频过过眼瘾吧来自美国STEAM教育让孩子跨学科学知识积木向来是STEAM教育很重要的一部分&#xff0c;因为它涉及到了多种学科&#xff1a;要搭建得稳固——这是工程学&#xff1b;要精准搭建——这是数学&#xff1b;…

.NET Core with 微服务 - 什么是微服务

微服务是这几年最流行的架构&#xff0c;说起架构不提微服务都不好意思跟人家打招呼。最近想要再梳理一下关于微服务的知识&#xff0c;并且结合本人的一些实践经验来做一些总结与分享。前面会分享一些概念性的东西&#xff0c;后面也会使用.net来实践&#xff0c;一步步完成一…

雨棚板弹性法计算简图_钢结构工程量计算4点注意事项,还不来看?

一图纸&#xff1a;根据图纸目录&#xff0c;清理核对图纸数量&#xff0c;检查是否有遗漏。二建筑施工图1. 设计总说明 1.1 建筑面积、结构形式、柱距、跨度、结构布置情况&#xff1b;1.2 工程量计算的范围&#xff1a;关于结构、屋面、墙面、门窗等&#xff0c;清楚投标报价…

html注释的爱情故事,爱情故事”为你的婚礼贴上专属标签

这不是一场婚礼&#xff0c;而是彩虹之上的梦每个年轻的女孩都有一个多彩的梦&#xff0c;这个梦绚丽斑斓&#xff0c;若有天梦想实现&#xff0c;年轻的女孩子们是否会欣喜地大叫起来&#xff1f;为你的婚礼注入你自己的梦&#xff0c;贴上只属于你自己的“标签婚礼”吧&#…

震惊整个世界的新发现,科学界的大骗局

全世界有3.14 % 的人已经关注了数据与算法之美布朗洛和N射线闹剧继伦琴发现X射线后&#xff0c;1903年&#xff0c;法国科学院院士、物理学家布朗洛宣布他发现了N射线。法国科学院公布了这一“惊人发现”之后&#xff0c;兴起了一股研究N射线热潮&#xff0c;仅法国科学院院刊在…

TI-89T 教你在C程序里调用TI-BASIC程序,看看是否有人对这个感兴趣

2019独角兽企业重金招聘Python工程师标准>>> 教你在C 程序里调用TI-BASIC程序&#xff0c;看看是否有人对这个感兴趣 昨天翻TIGCC的文档&#xff0c;先瞅了瞅FAQ&#xff0c;话说我看文档有个习惯&#xff0c;就是先看目录&#xff0c;再看FAQ&#xff0c;因为FAQ汇…