商城网站前期推广郴州seo推广

news/2025/9/23 20:21:02/文章来源:
商城网站前期推广,郴州seo推广,遵义微商城网站建设平台,网站标题特效docker知识#xff1a; 比如写了个项目#xff0c;并且在本地调试没有任务问题#xff0c;这时候你想在另外一台电脑或者服务器运行#xff0c;那么你需要在另外一台电脑或者服务器配置相同的软件#xff0c;比如数据库#xff0c;web服务器#xff0c;必要的插件和库等…docker知识 比如写了个项目并且在本地调试没有任务问题这时候你想在另外一台电脑或者服务器运行那么你需要在另外一台电脑或者服务器配置相同的软件比如数据库web服务器必要的插件和库等等而且你还不能保证软件一定能够运行起来因为别人用的可能是完全不同的操作系统即便同样使用linux系统每个发行版也会有不同的区别为了模拟完全相同的本地开发环境。 我们想到可以用虚拟机但是虚拟机需要运行整个操作系统不但体积臃肿内存占用高程序性能也会受到影响这时候我们的docker就派上用场。 docker容器 docker在概念上与虚拟机非常相似但却轻量很多不会去模拟底层硬件只会为每个应用提供完全隔离的运行环境你可以在环境中配置不同的工具软件并且不同环境之间相互不影响。 这个“环境”在docker中也被称做container(容器) 讲到这里我们就不得不提docker 中夫人三个重要的概念dockerfile,镜像image和container(容器) 镜像image 你可以把它理解成一个虚拟机的快照里面包含了你需要部署的应用程序以及它关联的所有库通过镜像我们可以创造不同的容器 这里的容器就像以台台运行起来的虚拟机里面运行了你的应用程序每个容器 是独立运行的他们相互之间不影响 dockerfile dockerfile:就像是一个自动化脚本它主要用来创建我们的镜像这个过程就好比在虚拟机安装操作系统和软件一样只不过是通过dockerfile这个自动化脚本完成 dockerfile文件创建首先我们在应用的根目录创建一个dockerfile文件第一行我们需要用FROM指令指定一个基础镜像 例如python3.8这样可以帮我们节省很多软件安装.免去我们安装Python的步骤 2.通过WORKDIR /app创建工作目录如果目录不存在docker 会自动帮你创建这样可以避免使用绝对路径或者手动cd切换路径增加程序的可读性 3.之后可以调用COPY命令将所有的程序拷贝到DOCKER镜像中COPY 本地路径目标路径 COPY . . 第一个“.”代表程序的根目录下的所有文件第二个参数代表docker 镜像中的路径这里的“.”代表当前的工作路径也就是之前指定的/app目录 4.之后RUN指令允许我们在创建镜像时运行任意的shell指令因为用的是linux镜像例如RUN pip install -r requirement.txt来安装Python程序的所有关联的库 5.通过以上的所有指令我们就可以完成一个docker 镜像的创建 6.在dockerfile的最后我们用CMD指令来指定当docker容器运行起来后要执行的命令例如python app.py 运行python脚本 要主要容器和镜像的区别,RUN是创建镜像的时候使用的而CMD是运行容器时候使用的到这里我们的dockerfile自动化脚本就完成了 7.接下来我们可以使用docker build指令来创建一个镜像 -t指定镜像的名字后面的点则代表在当前目录寻找这个dockerfile例如docker build -t my_image . 第一次调用docker build构建镜像会比较慢因为Docker 会下载必要的镜像文件然后一行行的执行我们的指令不过再次调用docker build就会快很多因为docker 会缓存之前的每一个操作这个在docker中也被称之为分层 8.有了镜像以后我们通过docker run来启动一个容器例如docker run  -p 80:5000 -d my_image  这里的-p参数他会将容器上的某一个端口映射到本地端口这样你才能从主机上访问容器中的应用 前面的80端口是我们主机上的端口后面的5000端口是我们容器上的端口 -d 表示后台运行不出意外的话容器运行成功 docker 相关指令 docker ps :列举所有的容器 docker stop 容器id :停止容器运行 docker restrart 容器id :重启容器 docker rm  容器id :删除容器 docker exec -it   容器id /bin/bash 进入容器 需要注意的是我们删除一个容器时容器里面的东西会消失因此我们可以使用Docker提供的volume 数据卷 你可以把他 当作是一个在本地主机和不同容器中共享的文件夹,比如你在某一个容器中修改了某一个数据卷的数据他会同时反应在其他的容器上 在启动容器的时候我们可以通过-v指令参数指定将数据卷挂载到容器中的某一个路径上 例如docker run -d -p 80:5000 -v /etc: /etc1 将本地/etc目录挂载到容器/etc1目录下向这个路径写入的任何数据都会被永久的保存到这个数据卷中 docker compose 9.之前我们讲的例子都是只涉及到单个容器但是在实际的使用中 我们的应用  容器可能会涉及到多个的容器共同协作比如我们可以使用一个容器来运行web应用另外一个容器来运行数据库这样可以做到数据和应用逻辑的有效分离比如当web程序宕机了数据库依然在有效的运作这时候我们  只需要修复web容器即可 10.docker compose刚好可以帮我们做到这点我们可以创建一个docker-compose.yml文件在这个文件下我们通过services来定义多个容器比如定义一个web容器来运行我们的web运用 然后在定义一个db容器里面运行了mysql数据库这里我们可以通过两个环境变量指定数据库的名字和连接密码同时在db容器中模拟还可以通过volumes指定一个数据卷来永久存放数据 定义完毕后保存文件 11.使用docker compose up -d 来运行我们所有容器 这里的-d同样是指后台运行 docker compose down . 停止并删除所有容器 docker 指令、 dockerfile、和docker compose的相关指令自行百度 K8S知识 docker和k8s的区别和联系   docker和k8s并不是一个层面的东西在之前的例子中我们的应用数据库都是运行在同一台计算机中随着应用规模的变大一台服务器没有办法满足我们的需求 当我们香使用一个集群的服务器来提供服务并做到负载均衡故障转移等这个时候就用到k8s,k8s所做的就是将你的每个容器分发到一个集群上运行,并进行全自动化的管理包括应用的部署和升级 k8s是谷歌的开源工具它是介于应用服务和服务器之间的中间层能够通过策略协调和管理多个应用服务只需要一个yaml文件配置定义应用的部署信息就能自动部署应用到各个服务器上 并且能够让他们 自动扩缩容而且做到了挂了后在其他的服务器上自动的部署应用 k8s的架构原理 k8s将服务器划分为2个部分一部分叫控制平面另外一部分是工作节点node 简单来说,他们的关系就是老板和员工的关系控制平面负责控制和管理各个node ,而node 则负责实际的运行各个应用 服务 master控制平面内部组件 API server组件 1.以前我们需要登录到各个服务器上手动执行命令现在我们只需要调用k8s提供的APi接口就能够操作这些服务器资源这些接口都是由API server组件提供 scheduile调度器 2.以前我们需要到处看下哪台服务器的CPU和内存资源充足然后才能够部署应用现在这部分决策逻辑由scheduile调度器来完成 controller manager控制器管理器 3.找到服务器后以前我们会手动创建关闭服务现在这部分功能由controller manager控制器管理器来完成 ETCD 4.上面的功能都会产生一些数据这些数据需要保存到存储层所以还需要一个ETCD 以上就是控制平面的内部组件 node内部组件 1.node是实际的工作节点它既可以是实际的物理机也可以是虚拟机它会负责实际运行各个应用服务器。多个运用服务共享一台node上的内存和CPU资源 2.以前我们需要上传代码到服务器上而用了k8s后我们只需要将代码打包成容器镜像就能一行命令将它部署容器镜像的含义就是将应用代码和依赖的系统环境打成一个压缩包在任意一台机器上解压运行 container runtime容器运行时组件 3.为了下载和部署镜像noder中会有一个container runtime,也就是容器运行时组件 pod 4.每个应用服务都可认为是一个容器并且大多数时候我们还会给应用配置一个日志容器或者监控采集器container,这多个container共同组成一个一个的pod,pod运行在node 上 5.K8s可以将pod从某一个node调度到另一个node 上还能以pod为单位去做重启和动态扩容或者缩容的操作所有所POD是K8S中最小的调度单位 kubectl 6.控制平面会通过controller manager控制器管理器控制node创建和关闭服务那node也得有个组件能接受到这个指令才能去完成这个动作这个组件叫kubectl ,它主要负责管理和监控pod kube proxy 7.最后node中还有个kube proxy ,它负责node 的网络通信功能有了它外部的请求就能够用被转发到pod中 ingress控制器 控制平面和node共同构成了一个集群在公司中一般会构建多个集群比如测试环境用一个集群生产环境用另外一个集群同时为了将 集群内部服务暴露给外部用户使用一般还会部署一个入口控制器 比如ingress控制器提供一个入口让外部用户可以访问集群内部服务 kubectl 是什么 前面提到说我们可以使用K8S提供的api去创建服务但是问题就来了这是需要我们自己写代码去调度这些API吗答案是不需要 k8s为我们准备了一个命令行工具kubectl我们只需要执行指令它内部就会去调用k8s的API K8S怎么部署服务 1.首先我们需要编写yaml文件在里面定义Pod用到了哪些镜像占用了多少内存和CPU 2.然后使用kubectl命令行工具执行kubectl apply -f xx.yaml 此时kubectl将读取和解析yaml文件将解析后的对象通过API请求发送给K8S 3.控制平面的API Server会根据要求驱使scheduler调度器通过etcd提供的数据找到合适的node 4.再让controller manager控制器管理器控制node创建服务node 内部的kubectl组件接受到命令后会开始基于container runtime,也就是容器运行时组件去拉去镜像创建容器最终完成pod创建 服务启动完成 5.全程只需要创建一个yaml 和执行一次kubectl指令比以前省事太多 服务调用原理 1.以前小明直接在浏览器发送http请求就能达到我们的服务器上的nginx,然后转发到部署的服务内部 2.有了K8S后外部请求会先到k8s集群的ingress控制器然后再转发到K8S内某个node 的kube proxy上再找到对应的pod后才转发到对应的内部服务中处理请求后结果原路返回这就完成了一个服务调用

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

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

相关文章

怎么wordpress下载网站做seo多少钱

为什么要搭建samba 服务器我在 windows 下安装了个虚拟机,然后想两边同步下资料,原来虚拟机是可以共享文件的,可是不知道什么见鬼了,就是不行,没办法了,我只好拿出我的杀手锏,安装 samba。这个在…

有限公司网站建设 中企动力佛山wordpress 缩略图变形

vue里el-formel-table实现验证规则的写法 vue里el-formel-table实现验证规则的写法 vue里el-formel-table实现验证规则的写法 重点是因为使用el-form el-table与单独使用el-form时数据不同,前者是对象json数组,后者是对象,导致了el-form-ite…

合肥网站建设首选 晨飞网络做暧小视频xo网站

一、JavaScript介绍 1.1 JavaScript是什么 1.1.1 JavaScript是什么? JavaScript是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。 注意:HTML和CSS是标记语言。 1.1.2 作用(做什么&#xff1f…

网站开发设计jw100一级a做爰片免费网站破解版

Python 近两年一直霸占编程语言排行榜 Top3,火热程度有目共睹。这也让刚入行的程序员,甚至 BATJ 的技术大牛,都意识到 Python 对于一个程序员职业发展的重要性,将其作为第一/第二开发语言去学习。我同事前些日子说要学Python&…

Apifox-windows-latest.exe 安装教程(附详细步骤,一键下载安装指南)​

Apifox-windows-latest.exe 安装教程(附详细步骤,一键下载安装指南)​​ 一、准备工作​下载安装包​ 你得先有这个 Apifox-windows-latest.exe文件。一般是从 Apifox 官网下载下来的,安装包下载:https://pan.qua…

软工第二次作业——个人项目

软工第二次作业——个人项目------------恢复内容开始------------ 一、作业信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.c…

做网站下载那个数据库好wordpress开发 文档下载

6月15日,一年一度的大连软交会于大连市世界博览广场盛大举行。“2017企业服务创新论坛”作为软交会最重要的组成部分之一,本年度以“守正出新——通往基业长青的数字化选择”为主题,吸引到近200位企业级服务领域的企业家及高管参加。致远互联…

开封市建设教育协会网站vue反向代理天地图地址

1 说明 此篇文章针对Chrome DevTools常用功能进行调研分析。描述了每个功能点能实现的功能、应用场景和详细操作。 2 Elements 2.1 功能 检查和实时更新页面的HTML与CSS 在 Elements 面板中检查和实时编辑 DOM 树中的任何元素。在 Styles 窗格中查看和更改应用到任何选…

南京网站制作公司报价北航刘禹导师做网站

在上一节中完成了注册功能的前期准备工作,在这一节内容中将完成用户注册、登录功能。1.知识预览在本届中将学习到以下内容的知识如何使用wtform来渲染表单如果使用flask-mail来发送邮件2.用户注册在前端中form表单是用的比较多的东西,我们可以使用wtform…

公司网站运营公司排名网站源码php

查询linux的swap被什么使用了 查询centos的swap被什么进程使用了 swap内存被什么程序占用,什么程序使用了swap分区,占用swap内存的进程 查系统使用swap内存前10个进程: for i in $( cd /proc;ls |grep "^[0-9]"|awk $0 >10…

大庆建设局网站首页上海做一个公司网站多少钱

Lei宝啊:个人主页 愿所有美好与我们不期而遇 题目描述 : 给你一个链表的头节点 head ,判断链表中是否有环。 接口: bool hasCycle(struct ListNode *head) 示例1: 示例2: 返回值: true或…

游戏网站制作做短视频网站好

QT 子窗体 最大化 复原 遇到的问题 项目中有个需求,主窗体中嵌套子窗体,需要将子窗体最大化显示和复原。 查了很多资料,基本上都是提到:QT中窗口部件QWidget成员函数showFullScreen();是用于将窗口部件全屏显示,但是他…

嘉兴网站建设多少钱沧州小程序开发制作

本文介绍的是在使用jsp作为模板引擎的spring-mvc项目中,如何利用 PDF.js实现pdf文件的预览。 1、下载 PDF.js Getting Started (mozilla.github.io) 下载解压后其中有两个目录,直接将这两个文件夹放到项目的web资源目录中。此时相当于把PDF.js这个项目也…

近十年 CSP-J 复赛知识点分布表

📌 说明T1:模拟题为主,难度较低,重在代码实现能力。 T2:基础算法,如排序、枚举、二分等。 T3:多为字符串处理、搜索、基础动态规划。 T4:难度最高,常考动态规划、图论、树结构等。 难度表示:★ 为入门级,★…

校园网站建设er模型网站用ai做还是ps

目录 必须理解的知识点: 举一个草莓的例子: 机器学习的三个类别: 监督学习: 无监督学习: 强化学习: 更多知识背景: 机器学习的诞生需求 监督学习的关键技术与实现步骤 无监督学习的关…

AT_arc181_d [ARC181D] Prefix Bubble Sort

一个比较容易观察到的性质是,这个东西等价于冒泡排序的一轮。 考虑经典结论,就是每次对于每个结点 \(i\) 会减少前面的一个逆序对,由于 \(a\) 的单调性,所以当一个数因为逆序对的情况移动会是一段连续的区间。因为…

【MySQL】使用C/C++链接mysql数据库 - 指南

【MySQL】使用C/C++链接mysql数据库 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

自己做的网站如何链接到百度浅谈电子商务网站的建设与管理

C#制作定时任务工具执行CMD命令 概要准备知识点实现原理thinkphp配置winform执行CMD命令读取ini配置文件定时任务Quartz.Net 完整代码Job.csIniFunc.csForm1.csconfig.ini简易定时任务工具雏形 概要 很多时候写接口上线后还会遇到很多修改,类似JAVA,C#,delphi制作的…

集团企业网站设计方案免费的ppt制作软件

高级命令 keys * 返回满足条件的所有key,可以模糊匹配exists 是否存在指定的keypersist 取消过期时间select 选择数据库 (0-15,总共16个数据库)move key index 将当前数据库的 key 移动到给定的数据库 db 当中randomkey 随机返回…

地产项目网站建设监理杂志网站

以共享的方式实现不同节点之间数据交互的通信模式。 参数服务器是基于服务实现的,包含客户端和服务器端,服务端节点可以存储数据,客户端节点可以访问服务端节点操作数据,这个过程虽然基于请求响应的,但是无需自己实现…