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

news2024/12/24 0:33:50

为了搞定docker是怎么部署的,做个笔记

  • 前提条件
    • 准备一个core项目,使用vs自带的docker打包
    • 假如你选择docker支持的时候不小心安装了Docker Desktop;还可以简单的先部署到本地docker中
    • 发布到centos
    • docker常用命令

前提条件

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

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

  • launchSettings.json文件配置的端口保持一致
    在这里插入图片描述

  • 让Swagger在docker部署中能顺利跑起来,不走判断逻辑
    在这里插入图片描述

  • 给.net core程序默认指定启动端口
    在这里插入图片描述

  • 添加docker支持;千万不要安装Docker Desktop,太占内存了
    在这里插入图片描述

  • 在程序中找到Dockerfile文件(用来生成镜像的),做一些修改;防止做成镜像时找不到文件
    在这里插入图片描述

  • 修改Dockerfile文件属性,保证发布的时候能跟随一起发布出去
    在这里插入图片描述

  • 发布到文件夹
    在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
打包结束
在这里插入图片描述
Docker Desktop中会出现我们打包的镜像

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

在这里插入图片描述
生成成功
在这里插入图片描述
启动效果
在这里插入图片描述
启动输出

  • 访问网站
    在这里插入图片描述

发布到centos

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

  • 解压文件
    在这里插入图片描述

  • 生成docker镜像

docker build -t xxx镜像名 .

在这里插入图片描述

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

在这里插入图片描述

  • 关闭防火墙
systemctl stop firewalld
  • 百度云添加防火墙规则
    在这里插入图片描述
  • 使用外网ip地址加端口访问程序
    在这里插入图片描述

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 #删除镜像;删除镜像之前先删除容器

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

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

相关文章

软件测试的7年,我秃了,也变强了...

当前就业环境,裁员、失业消息满天飞,好像能有一份工作就不错了,更别说高薪。其实这只是一方面。另一方面,各大企业依然求贤若渴,高技术人才依然紧缺,只要技术过硬,拿个年包50w不是问题。 人生格…

i.MX RT1010跨界MCU(MCUXpresso IDE上手体验)

MCUXpresso IDE是专为NXP半导体的基于ARM Cortex-M内核的MCU芯片开发而设计的,其优势主要体现在以下几个方面: MCUXpresso IDE集成了MCUXpresso SDK,这是NXP提供的一个软件开发套件,包含了底层驱动、中间件以及大量的示例代码和应…

Charles Windows10使用 证书安装 过期重设 证书加入到受信任根目录 配置访问WhatsApp

普通教程文档 抓包神器 Charles 使用教程详解 - 知乎 界面选项详细讲解 Charles的功能介绍与使用教程,一学就会,不信就来试试? 疑难杂症 由于CA 根证书不在“受信任的根证书颁发机构”存储区中,所以它不受信任 1、winr 运行…

SandQuant停止运营,免费获取A股数据

亲爱的各位朋友们: SandQuant即日起不再对外提供任何服务,为了感恩曾经支持过我们的客户朋友,现免费提供所有A股数据(数据非常庞大,请酌情下载),请通过链接自取。 请关注我们获取链接&#xff…

产品不可或缺的文档——帮助文档

在互联网时代,产品的更新迭代速度越来越快,产品功能也越来越复杂,为了让用户能够更好地理解和使用产品,帮助文档逐渐成为了产品不可或缺的一部分。本文将从帮助文档的作用、设计原则、撰写技巧等方面探讨帮助文档的重要性及如何编…

【AI面试】损失函数(Loss),定义、考虑因素,和怎么来的

神经网络学习的方式,就是不断的试错。知道了错误,然后沿着错误的反方向(梯度方向)不断的优化,就能够不断的缩小与真实世界的差异。 此时,如何评价正确答案与错误答案,错误的有多么的离谱,就需要一个评价指标。这时候,损失和损失函数就运用而生。 开始之前,我们先做…

MySQL数据库——初步安装与数据表结构数据管理

MySQL数据库——初步安装与数据表结构数据管理 一、数据库的基本概念1.数据库基本常识2.数据库系统发展史 二、数据库的分类1.关系数据库(SQL)2.非关系数据库(NO SQL) 三、mysql的数据类型1.常用的数据库类型2.char与varchar的区别…

ijkplayer 支持srt协议 rtmp协议编译步骤

写在前面 ffafaf这个编译真的太垃圾了 一堆毛病 感受下webrtc 傻瓜式编译 环境首先必须ndk 是android-ndk-r15c 或者 android-ndk-r14b ubuntu 系统随便22或者20,18都行 有个非常重要的点python必须是2.7 不然你会看到一大堆报错 高版本的ubuntu默认都是python3…

回溯算法基本思想及其实现

文章目录 基本思想回溯算法的递归框架组合问题组合总和组合去重子集全排列 基本思想 回溯算法是一种递归算法,它试图通过尝试不同的选择,解决一个问题。它的基本思想是从可能的决策开始搜索,如果发现这条路往下走不能得到有效的解答&#xf…

12-事件模型(也就是一个先后触发顺序)

一、事件与事件流 HTML文档、浏览器中发生的一种交互。使得具备互动性,加载、鼠标、自定义事件。 由于DOM是一个树结构,意味着标签存在嵌套关系,当绑定事件的时候,当触发子节点的时候,一个顺序问题,概念-事…

人机交互学习-4 交互设计过程

交互设计过程 交互设计过程基本活动关键特征 设计过程中的问题如何选取用户?如何明确需求?如何提出候选方案?如何在候选方案中选择? 交互设计生命周期模型星型生命周期模型可用性工程生命周期模型 交互设计过程管理界面设计的4个支…

这三个方法可以视频音频转换你知道吗?

小明:你听说过音频转换吗?最近我在学习音乐制作,发现这个功能特别有用! 小红:啊,好像没有听说过。它是用来干嘛的? 小明:简单来说,就是可以将不同格式的音频文件进行转…

嵌入式Linux应用开发笔记:串口

文章目录 目的基础说明开发准备设备树应用程序 应用程序与演示代码演示 总结设备树文件 目的 串口(UART)是嵌入式设备中比较常用的功能。这篇文章将记录下应用程序中串口操作相关内容。 这篇文章中内容均在下面的开发板上进行测试: 《新唐N…

阿里 P8 架构师总结的 Java 面试笔记,上线仅七天,Github 标星 55K

作为一名优秀的程序员,技术面试是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 如果你参加过一些大厂面试,肯定会遇到一些这样的问题: 1、看你项目都用的框架,熟悉 …

AI翻唱整合

感谢阅读 不完全原创声明环境部署下载工具包安装人声背景音分离工具分离消除脏数据(比如杂音)准备自己的声音预处理完工效果参考 不完全原创声明 本人使用了多个第三方软件,并修改了一部分代码使得其可以在PC上训练,如有侵权请联…

看板是什么?使用看板进行任务管理有哪些好处?

看板是一个易于使用的工具,用于可视化和管理工作流程。 它的特点是有一列代表工作流程的各个阶段。看板卡被用来跟踪各个任务和活动在各个阶段的进展情况。 看板的两种主要类型是实体看板和数字看板。实体看板最适合办公室内、同地办公的团队。数字看板更适合远程和…

数据库MySQL学习-数据查询(持续更新中...)

MySQL数据库 MySQL是DBMS软件系统,通过这些系统来维护管理数据库。 DBMS类似于用于和数据库之间的桥梁。 一、安装配置 下载免费的MySQL 社区版,安装后需要下载MySQL workbench vscode phpmyadmin等工具来接入MySQL。 MySQL可以管理多个数据库的&…

广告数仓:数仓搭建

系列文章目录 广告数仓:采集通道创建 广告数仓:数仓搭建 文章目录 系列文章目录前言一、环境搭建1.hive安装2.编写配置文件3.拷贝jar包4.初始化源数据库5.修改字符集6.更换Spark引擎1.上传并解压spark2.修改配置文件3.在hadoop上创建需要的文件夹4.上传…

离散数学题目收集整理练习(期末过关进度10%)

✨博主:命运之光 🦄专栏:离散数学考前复习(知识点题) 🍓专栏:概率论期末速成(一套卷) 🐳专栏:数字电路考前复习 ✨博主的其他文章:点击…

观察者模式(二十)

相信自己,请一定要相信自己 上一章简单介绍了迭代器模式(十九), 如果没有看过, 请观看上一章 一. 观察者模式 引用 菜鸟教程里面 观察者模式介绍: https://www.runoob.com/design-pattern/observer-pattern.html 当对象间存在一对多关系时,则使用观察…