六、.net core (.NET 6)程序部署到Docker上
使用Docker部署应用程序
首先确保已经安装Docker 桌面软件,如下图:

然后,把需要部署到Docker上面的项目,咱们先添加Docker的支持,启动项目右键 -> 添加 -> Docker支持,选择 Linux


然后会自动生成Dockerfile文件,在里面可以看见Docker有关的配置信息。

我们需要对Dockerfile的配置文件做一些更改:

然后修改dockerfile文件的属性:

在启动项目的Properties下,修改launchSetting.Json启动项的配置文件,把默认启动的端口号也改成和docker默认的端口号一样的:

接着,在Program下面,CreateHostBuilder里面绑定指定的端口号:

然后,在Startup里面,Configure下面需要做点修改:swagger默认是写在 if (env.IsDevelopment())判断语句里面的,代表使用编译器启动,才会进来。我们把swagger有关的写到外面去,不然发布以后,可能会看不到swagger的页面:

一切准备就绪,我们准备发布一下:
项目右键,选择发布,选择发布到本地文件夹:

随便先自定义一个文件夹,例如我存放在D盘的Wsk_Publish下面:

对发布的一些选项进行更改,把删除现有文件的选项设为 True:

然后,右上角点击发布,发布成功即可:

下面是把发布的程序部署到docker上的关键操作了。按住windows按键+X,使用管理员权限启动 power shell,然后定位到发布的程序的根目录下:

然后,使用 docker build -t 镜像别名(例如我起个别名,叫wesky) .
注意最后面需要加空格,然后一个点
然后就会自动下载有关的一些资源。为了看清文字,我调了下背景色,以及执行效果如下:

由于使用的是默认的,所以可能拉取资源会比较慢,也可以在Dockerfile配置文件把默认使用microsoft的地址改为其他的地址,这里不提供该方面的镜像地址,因为我都是用原生的。
等待一段时间,都拉取好了以后,我们打开docker客户端,可以看见镜像已经安装好了:

我们现在用命令来启动它: docker run -d -p 35678:35678 --name wesky wesky
命令说明,见图中说明。

运行成功,会显示出一串16进制字符串,代表OK了。这个时候,切换回docker客户端,可以看见程序正在运行:

点击正在运行的镜像,就可以打开一些监控页面,包括日志、资源占用等信息:

功能按钮信息,待自己去发现。
现在,我们试试在本机上打开swagger,并执行之前的api进行打印一串符号。地址是本机ip+设置的端口号:

可以打开页面,并且测试成功,到此部署程序到docker圆满结束,撒花~~
备注:如果发现docker无法使用,请确认是否开启系统虚拟化,怎么开启在该系列的第一篇文章有教程。如果虚拟化已启动,就看看docker当前是linux还是windows容器。我这边使用的是linux容器,如果你是windows容器需要切换Linux,需要在电脑桌面docker图标右键,选择 switch to linux container……,如果显示的是 switch to windows container…… 就代表你已经使用的是linux容器了。
最后,如果各位大大们觉得有帮助,欢迎打赏呀!!!
六、.net core (.NET 6)程序部署到Docker上的更多相关文章
- .NET Core 3.0 部署在docker上运行
自从.NET Core3.0发布之后,写了几篇关于.NET Core 3.0的文章,有助于你快速入门.NET Core3.0. 本篇文章主要讲解如何一步步创建一个mvc项目,然后发布并部署在Docke ...
- docker多个容器连接 将 Rails 程序部署到 Docker 容器中
在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中
- 把AspDotNetCoreMvc程序运行在Docker上-part3:使用独立的存储容器
接上一篇博文<把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像>,这次我们看看如何使用docker存储数据. 背景 之前的示例都只有一个网站应用 ...
- 把AspDotNetCoreMvc程序运行在Docker上-part5:使用docker-compose
在上一part<把AspDotNetCoreMvc程序运行在Docker上-part4:实现负载均衡>中,我们通过几个比较复杂的步骤在docker平台上实现了对网站程序的负载均衡,配置步骤 ...
- 把AspDotNetCoreMvc程序运行在Docker上-part4:实现负载均衡
在上一part<把AspDotNetCoreMvc程序运行在Docker上-part3:使用独立的存储容器>,我们利用MySql容器和Volume实现了真正意义上的数据存储.整个结构非常简 ...
- 把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像
在上一个part<把AspDotNetCoreMvc程序运行在Docker上-part1>,已经将成功将aspdotnetcore程序运行在两个不同的容器中,目前两个容器的内容完全相同,只 ...
- 【Step By Step】将Dotnet Core部署到Docker上
本教程的前提是,你已经在Linux服务器上已经成功的安装了Docker,我会大概介绍在此过程中用到的Docker命令,并不会介绍所有的Docker命令(因为我也不会). 一.在Docker中运行Dot ...
- 把AspDotNetCoreMvc程序运行在Docker上-part1
接<基于ASP.Net Core学习Docker技术第一步:在CentOS7安装Docker平台>这个博文,在搭建完成Docker平台之后,可以开始让aspdotnetcore程序运行在d ...
- Windows下docker的安装,将ASP.NET Core程序部署在docker中
参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html https://www.cnblogs.com/jRo ...
随机推荐
- Java基础练习——读心术(扑克牌魔术——21张扑克牌)
Java基础练习--读心术(扑克牌魔术--21张扑克牌) 用到了Scanner,for循环,if-else语句,集合,线程的Thread.sleep()方法 话不多说,直接上代码!
- CloudBase CMS + Next.js:轻松构建一个内容丰富的站点
项目背景 试想一下,如果你现在要为你自己或者你所在的组织创建一个强内容的站点,同时要求好的 SEO(搜素引擎优化),比如博客,你会怎么做呢? 由 vite 或者 create-react-app 等脚 ...
- 前端数据渲染及mustache模板引擎的简单实现
早期数据渲染的几种方式 在模板引擎没有诞生之前,为了用JS把数据渲染到页面上,诞生了一系列数据渲染的方式. 最最基础的,莫过于直接使用DOM接口创建所有节点. <div id="roo ...
- PAT甲级1100——1155题总结
- 展开说说,Spring Bean IOC、AOP 循环依赖
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 延迟满足能给你带来什么? 大学有四年时间,但几乎所有人都是临近毕业才发现找一份好工作 ...
- Ribbon、Feign和OpenFeign的区别
Spring Cloud 微服务架构学习记录与示例 Ribbon Ribbon 是 Netflix开源的基于HTTP和TCP等协议负载均衡组件 Ribbon 可以用来做客户端负载均衡,调用注册中心的服 ...
- [转]自建CDN防御DDoS
自建CDN防御DDoS(1):知己知彼,建设持久防线 前言 本议题是我们在OWASP杭州区2013年岁末年初安全沙龙中进行分享的内容,在此我们对这个议题的整体内容进行了重新归纳梳理,形成了文字版. 在 ...
- Android最新敲诈者病毒分析及解锁
一.情况简介 从去年开始PC端的敲诈者类病毒在不断的爆发,今年年初的时候手机上也开始出现了敲诈者之类的病毒,对这类病毒很无语也是趋势,因为很多时候病毒的产生是和金钱利益相关的.前天去吾爱破解论坛病毒样 ...
- 【python】Leetcode每日一题-寻找旋转排序数组中的最小元素
[python]Leetcode每日一题-寻找旋转排序数组中的最小元素 [题目描述] 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组.例如,原数组nums ...
- python常识系列07-->python利用xlwt写入excel文件
前言 读书之法,在循序而渐进,熟读而精思.--朱熹 抽空又来写一篇,毕竟知识在于分享! 一.xlwt模块是什么 python第三方工具包,用于往excel中写入数据:(ps:只能创建新表格,不能修改表 ...