centos系统把.net6 web api部署到docker

这篇具有很好参考价值的文章主要介绍了centos系统把.net6 web api部署到docker。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前提条件

  • 一台centos 8.0 版本以上的linux系统,建议用百度的云服务器;不仅可以反复重装,还可以重装其它的操作系统;主要是对新用户还便宜;实在不想花钱,那就自己在虚拟机中装一个centos
  • vs做一个web core的项目,有docker支持的那种(建议vs2022);我用的.net6
  • 准备Xshell

准备一个core项目,使用vs自带的docker打包

  • launchSettings.json文件配置的端口保持一致
    centos系统把.net6 web api部署到docker

  • 让Swagger在docker部署中能顺利跑起来,不走判断逻辑
    centos系统把.net6 web api部署到docker

  • 给.net core程序默认指定启动端口
    centos系统把.net6 web api部署到docker

  • 添加docker支持
    centos系统把.net6 web api部署到docker

  • 在程序中找到Dockerfile文件(用来生成镜像的),做一些修改;防止做成镜像时找不到文件
    centos系统把.net6 web api部署到docker

  • 修改Dockerfile文件属性,保证发布的时候能跟随一起发布出去
    centos系统把.net6 web api部署到docker

  • 发布到文件夹
    centos系统把.net6 web api部署到docker

假如你选择docker支持的时候不小心安装了Docker Desktop;还可以简单的先部署到本地docker中

centos系统把.net6 web api部署到docker

  • 生成镜像别名
docker build -t xxx镜像名称 .  #这里要特别注意生成镜像取别名的时候一定要加 .

centos系统把.net6 web api部署到docker
打包结束
centos系统把.net6 web api部署到docker
Docker Desktop中会出现我们打包的镜像

  • 生成容器并启动程序
docker run -d -p 5000:88 --name api2023 orderapi

centos系统把.net6 web api部署到docker
生成成功
centos系统把.net6 web api部署到docker
启动效果
centos系统把.net6 web api部署到docker
启动输出

  • 访问网站
    centos系统把.net6 web api部署到docker

发布到centos

  • 使用Xshell访问centos
    centos系统把.net6 web api部署到docker
    centos系统把.net6 web api部署到docker
  • 安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  • 安装后查看安装状态
systemctl status docker
  • 启用docker
systemctl start docker
  • 部署.net core项目,先把文件上传到服务器;不过我把默认端口改成89了
    centos系统把.net6 web api部署到docker

  • 解压文件
    centos系统把.net6 web api部署到docker

  • 生成docker镜像

docker build -t xxx镜像名 .

centos系统把.net6 web api部署到docker

  • 生成docker容器并启动程序
docker run --name api20230615 -p 50001:89 netapi20230615
docker run -d -p 50001:89 --name api20230615 netapi20230615
#api20230615 指容器名
#netapi20230615 指镜像名
#5001指公网端口
#89指centos系统对内端口

centos系统把.net6 web api部署到docker文章来源地址https://www.toymoban.com/news/detail-489383.html

  • 关闭防火墙
systemctl stop firewalld
  • 百度云添加防火墙规则
    centos系统把.net6 web api部署到docker
  • 使用外网ip地址加端口访问程序
    centos系统把.net6 web api部署到docker

docker常用命令

docker ps #查看所有运行的容器状态
docker ps -a #查看所有容器的状态
docker images #查看所有的镜像

docker start xxx容器名或容器id #启动容器

docker stop xxx容器名或容器id #关闭容器
docker stop -t=60 xxx容器名或容器id #参数 -t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态
docker kill xxx容器名或容器id #直接关闭容器

docker rm xxx容器名或容器id #删除容器;删除容器之前先停止容器
docker rmi xxx容器名或容器id #删除镜像;删除镜像之前先删除容器

到了这里,关于centos系统把.net6 web api部署到docker的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .Net6 Web Core API --- AOP -- log4net 封装 -- MySQL -- txt

    目录 一、引入 NuGet 包 二、配置log4net.config   三、编写Log4net封装类 四、编写日志记录类 五、AOP -- 拦截器 -- 封装 六、案例编写 七、结果展示 log4net  Microsoft.Extensions.Logging.Log4Net.AspNetCore    MySql.Data         ----  MySQL数据库需要 Newtonsoft.Json Autofac Autofac.Extensions.DependencyInj

    2024年02月14日
    浏览(38)
  • 关于.NET6后端程序(api)部署ssl证书的问题(https) 解决ing

    首先 一般情况下,后端不用https,但vs默认创建工程时,很容易勾选,这是需要将https改为http 改两处 一、把program.cs的 //app.UseHttpsRedirection(); 注释了 二、launchSettings里的iisSettings中 443改为0 再加一处 launchSettings的\\\"applicationUrl\\\": \\\"http://localhost:5001\\\"需要把s删掉 如果不改 用post会默认

    2024年01月17日
    浏览(42)
  • .net6 core web项目发布部署到IIS,以Windows服务的形式部署启动

    一、修改Program.cs代码,注册为 Windows Service 如果不注册builder.Host.UseWindowsService(); 安装为window服务会启动报错 安装NuGet包 Microsoft.Extensions.Hosting.WindowsServices Program.cs代码 二、发布项目 1、以文件夹形式 2、目标运行时选对应的平台(本Coder是:winx-64) 3、文件夹选项:在发布前删

    2024年02月11日
    浏览(34)
  • ubuntu20安装docker、redis、mysql及部署net6应用

    一、更新系统软件包索引 二、安装docker 三、在docker中安装Mysql 拉取mysql镜像 查看镜像 运行容器 参数说明: -i :以交互模式运行,通常配合 -t -t :为容器重新分配一个伪输入终端,通常配合 -i -d :后台运行容器 -p :端口映射,格式为 主机端口:容器端口 -e :设置环境变量

    2024年02月02日
    浏览(29)
  • 如何使用Docker将.Net6项目部署到Linux服务器(一)

    目录 一 配置服务器环境 1.1 配置yum                                                                                                                     1.1.1 更新yum包 1.1.2 yum命令 1.2 配置docker                                                           

    2024年02月04日
    浏览(36)
  • 课程32:.Net Core Web API部署IIS

    2024年02月04日
    浏览(26)
  • 详解 .Net6 Minimal API 的使用方式

    随着 .Net6 的发布,微软也改进了对之前 ASP.NET Core 构建方式,使用了新的 Minimal API 模式。以前默认的方式是需要在 Startup 中注册 IOC 和中间件相关,但是在 Minimal API 模式下你只需要简单的写几行代码就可以构建一个 ASP.NET Core的Web 应用,可谓非常的简单,加之配合 c# 的 glob

    2024年02月08日
    浏览(31)
  • 如何将.NET 8.0的ASP.NET Core Web API部署成Windows服务

    前面写了一篇关于将.NET应用转换成Windows服务的方法,其实真正的目的是为了探索如何将Asp.Net Core Web Api 部署成Windows 服务。基于上一篇的基础,只需把创建 WebApplication 的代码放到 BackgroundService 的ExecuteAsync方法中即可。 其中比较重要的一个细节就是需要指定一下配置:    

    2024年01月17日
    浏览(35)
  • vue+asp.net Web api前后端分离项目发布部署

    1.前端项目是使用vue脚手架进行创建的。 脚手架版本:@vue/cli 5.0.8 编译器版本:vs code 1.82.2 2.后端是一个asp.net  Core Web API 项目 后端框架版本:.NET 6.0 编译器版本:vs 2022 第一步:在vs code 编译器中的终端窗口输入如下命令,进行前端项目打包。 打包后文件如下所示: 第二步

    2024年02月05日
    浏览(43)
  • aps.net core 6.0 web API & SwaggerUI & IIS部署

    本文章的流程概述如下: 1、将 asp.net core web API 部署到 IIS 2、将 Swagger UI 设为起始页 3、设置内网穿透,允许其他内网用户访问 web API 我使用的是 VS2022社区版,WebAPI的版本是 .netcore6.0,其他版本可能略有不同,请根据情况适当更改。 创建webapi项目 默认选项即可 运行项目会默

    2024年02月09日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包