百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Netcore部署和使用docker(.net framework docker)

off999 2025-03-14 19:46 11 浏览 0 评论

Docker容器使用和部署

一.什么是Docker

Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行。

二.为什么要用docker

1.部署多台快速(可移植性强)

前几天,公司一批服务器就要到期了,由于服务器是15年购买的,硬件的性能远比现在新出的云主机低,因此决定把所有服务器都换成新一代服务器,

但是小编整准备动手迁移服务器时,内心一阵阵崩溃感涌上心头,仔细一算,每台服务器都要做同样的事情:

(1、安装jdk、Tomcat、nginx 2、配置jdk环境变量和系统变量 3、配置Tomcat 4、配置nginx 5、安装项目所需的视频解码组件 6、导入项目所需的一些特殊字体 7、安装NET.FRAMEWORK)

后来决定用docker部署的办法,在每台服务器都把docker安装之后,只需要在其中一台服务器中把Tomcat镜像从镜像仓库拉取下来,把这些配置都设置好,做成一个自己的镜像上传到镜像仓库中,

之后在其他几台服务器都下载自己做的镜像,运行于docker中,把代码上传,就万事大吉了。

2.实现开发、测试和生产环境的统一化和标准化(一次编译构建 多处运行)

前不久的圣诞活动中,公司临时的活动方案在程序员的加班加点中终于上线,但是一上线之后发现推广海报中的中文名字乱码,领导问责测试人员怎么没做好测试,

测试很委屈的说我已经测试无数遍并且测试报告都提交了,解决了所有问题才上线的;没办法只能让服务器同事查看正式服务器中的tomcat配置,发现原来 tomcat用了默认编码方式:iso8859-1,

而测试环境中是UTF-8。针对这个问题,项目组决定把开发环境迁移到docker中,在测试环境中测试无误后,把镜像打包发布到正式环境中,解决了环境不同导致的问题,这样同时可以保证测试环境通过的,在生产正式环境也不会有问题。

3.实现分布式部署(降低站点宕机影响,实现同台机器微服务部署)

因为项目如果功能较多,都部署在一个站点,如果这个站点挂机了,打到这个站点的请求都受到影响,用docker可以很轻松拆分多个服务,

比如拆分用户服务,订单服务,商品服务,如果某个服务挂了,不会影响所有线上的业务。更新版本和修复BUG 只需发对应服务的代码,减少全站一起更新。

4.隔离不同的安装环境(服务器较少的公司容易遇到这个问题)

不同的应用程序可能会有不同的应用环境。比如,.net开发的网站和.php开发的网站所依赖的软件就不一样,如果把他们所依赖的软件都安装在一个服务器上,就要调试很久,

不仅麻烦,还会造成一些诸如IIS和Apache访问端口冲突这样的问题。这个时候你就要隔离.net开发的网站和.php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机并在不同的虚拟机上部署不同的应用,

但是虚拟机开销比较大。此时docker就可以实现虚拟机隔离不同应用的这种功能,并且开销比虚拟机小,小就意味着节省资源和成本

5.限制单个服务使用 的CPU和内存,同时docker容器在后台运行避免了window job 窗口被关闭或者被选择停止的情况

我们在做job的时候经常一台服务器的内存和CPU被某个job给占满了 ,然后会导致这台服务器上面的其他job也受到影响, 如果使用

docker可以在开启容器的时候 指定CPU的最大使用核数和内存最高使用量,这样可以保证某个高CPU 高内存不会超过警戒值

6.查询job console的打点日志记录方便,查看容器程序开始和运行时长等

我们在windows做黑窗job 有时想查看之前的输入日志不是很方便要一直拉一直拉 ,而用 docker logs| grep 很方便定位到想要的日志信息,同时容器有记录运行时长和容器开始时间,可以很方便检测这个服务的运行情况

三.docker的三个基础概念

1.镜像 (理解成一个可运行的小的操作系统,里面包含你要运行的代码以及运行代码所需要的类库等,从而实现到处复制)

Docker镜像是用于创建Docker容器的模板。

这样说比较难以理解,举例来说,安装操作系统相信不少人都会。安装操作系统之前,要去下载对应的iso镜像文件,那就就可以把下载下来的这个iso镜像文件当作Docker的镜像。

当这个镜像安装完成运行起来之后就是操作系统了。也是就说,Docker镜像是创建容器的基础,先有镜像,再有容器。

2.容器 (理解成一个已运行的站点服务)

镜像与容器的关系如同面向对象程序设计中的类与对象的关系。镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、删除、停止等。回想一下,

我们中OOP设计中,定义类时,这就相当于一个Docker 镜像(Image),当实例化这个类创建出对象时,这就相当于Docker中的容器(Container)。



五.常用docker命令

查看镜像列表

1.docker images

查看运行中的容器列表

2.docker ps

查看全部的容器列表(包含已停止的容器)

3.docker ps -a

构建镜像

4.docker build -t 镜像名字 .

删除镜像

5.docker rmi 镜像名字

构建容器

6.docker run -d -p 6667:6666 --name consumptioncoreplus6667 consumptioncoreplus --always=restart

7.停止容器

docker stop 容器名字

8.删除容器

docker rm 容器名字

9.启动容器

docker start 容器名字

10.查看所有容器CPU 内存运行情况

docker stats -a

11.查看指定容器CPU 内存运行情况

docker stats 容器名字

12.查看容器输出的日志

docker logs 容器名字

13.限制容器最大占用的内存

docker run -d -p 6667:6666 -m 500M --name consumptioncoreplus6667 consumptioncoreplus --always=restart (限制内存最大500M)

14.限制容器只能运行在某些CPU核心上

docker run -d -p 1055:1001 --cpuset-cpus="0,1" --name roomoverviewptpoller1055 roomoverviewptpoller --always=restart (限制CPU只能用前面两个核心)

15.限制容器最多使用的CPU核心数

docker run -d -p 1055:1001 --cpus="1.5" --name roomoverviewptpoller1055 roomoverviewptpoller --always=restart (限制CPU最多使用的1.5个CPU核心数 )

相关推荐

Python自动化脚本应用与示例(python自动化脚本教程)

Python是编写自动化脚本的绝佳选择,因其语法简洁、库丰富且跨平台兼容性强。以下是Python自动化脚本的常见应用场景及示例,帮助你快速上手:一、常见自动化场景文件与目录操作O批量重命名文件...

如何使用Python实现一个APP(如何用python做一个程序)

要使用Python实现一个APP,你可以选择使用一些流行的移动应用开发框架,如Kivy、PyQt或Tkinter。这里以Kivy为例,它是一个跨平台的Python框架,可以用于创建漂亮的图形用户界面(...

免费定时运行Python程序并存储输出文档的服务推荐

免费定时运行Python程序并存储输出文档的服务推荐以下是几种可以免费定时运行Python程序并存储输出结果的云服务方案:1.PythonAnywhere特点:提供免费的Python托管环境支持定时...

【Python程序开发系列】如何让python脚本一直在后台保持运行

这是我的第385篇原创文章。一、引言让Python脚本在后台持续运行,有几种常见的方式,具体方式可以根据你的系统环境和需求选择。二、Linux或macOS系统2.1使用nohup命令no...

运行和执行Python程序(运行python的程序)

一、Python是一种解释型的脚本编程语言,这样的编程语言一般支持两种代码运行方式:交互式编程在命令行窗口中直接输入代码,按下回车键就可以运行代码,并立即看到输出结果;执行完一行代码,你还可以继续...

Python 初学者指南:计算程序的运行时长

在编写Python程序时,了解程序的运行时长是一项很有用的技能。这不仅能帮助你评估代码的效率,还能在优化程序性能时提供关键的数据支持。对于初学者来说,计算程序运行时长其实并不复杂,接下来就让我们看...

pyest+appium实现APP自动化测试,思路全总结在这里

每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试码同学抖音号:小码哥聊软件测试01appium环境搭建安装nodejshttp://nodej...

血脉觉醒后,编程小白我是如何通过Deepseek和Trae轻松开发软件的

以下就是作为一个编程小白的我,是如何一步步开发软件的保姆级教程,请点赞收藏:第一步:打开#deepseek#(首先关闭深度思考和联网搜索)输入或复制你要让它做一个什么样软件的要求和提示词(你可以先用...

我用Deepseek+Trae写的python小软件,小白也能轻松用上模型啦!

利用AI大模型deepseek,搭配TraeCN,用半个小时做了一个本地Ollama安装部署和一键卸载的小工具,哈哈哈!感觉还不错#deepseek#一直想做一个本地Ollama安装部署和一键卸载...

在安卓设备上运行Python的方法(安卓能运行python吗)

技术背景在安卓设备上运行Python可以为开发者提供更多的开发选择和灵活性,能够利用Python丰富的库和简洁的语法来开发各种应用,如游戏、脚本工具等。然而,由于安卓系统原生不支持Python,需要借...

零基础小白,DeepSeek全自动编程,超详细提示词,一键生成软件!

我前面发表了文章,详细说了编程零基础小白,如何利用DeepSeek进行编程的全过程,感兴趣的可以去看看:DeepSeek全自动编程很多人不会写提示词,不知道怎么开始对话。话不多说,请先看下图中的对话,...

小白用DeepSeek+Python编写软件(用python制作软件)

周末无事,用DeepSeek生成全部代码,写了一个mp3音乐播放器,几分钟搞定,DeepSeek确实太强大了。我的提示语是这么写的:“请用Python语言写一个音乐播放器,支持常见音乐格式,我是Pyt...

零基础使用DeepSeek开发Windows应用程序,超简单超实用!

你敢相信,我居然用DeepSeek开发了一个能用的Windows软件!整个过程就像和学霸同桌组队做作业,我负责提需求,DeepSeek负责写代码改bug,全程碰到任何问题直接丢给DeepSeek即可。...

第二篇:如何安装Python并运行你的第一个程序

欢迎回到我的Python入门教程系列!在上一篇中,我们讨论了为什么Python是一门值得学习的编程语言。今天,我们将迈出第一步:安装Python并运行你的第一个程序。无论你是Windows、macOS...

Python 运行,带你找入口,快速读懂程序

有C或Java编程开发经验的软件开发者,初次接触python程序,当你想快速读懂python项目工程时,是否觉得python程序有些太过随意,让你看有些无所适从,进而有些茫然。这是...

取消回复欢迎 发表评论: