当前位置: 首页 > news >正文

如何推广自己的个人网站呢wordpress+打断点

如何推广自己的个人网站呢,wordpress+打断点,公司企业网络维护外包,河北pc端网站建设一、容器与镜像 什么是容器#xff1f; 在介绍容器的具体概念之前#xff0c;先简单回顾一下操作系统是如何管理进程的。 首先#xff0c;当我们登录到操作系统之后#xff0c;可以通过 ps 等操作看到各式各样的进程#xff0c;这些进程包括系统自带的服务和用户的应用…一、容器与镜像 什么是容器 在介绍容器的具体概念之前先简单回顾一下操作系统是如何管理进程的。 首先当我们登录到操作系统之后可以通过 ps 等操作看到各式各样的进程这些进程包括系统自带的服务和用户的应用进程。那么这些进程都有什么样的特点 第一这些进程可以相互看到、相互通信第二它们使用的是同一个文件系统可以对同一个文件进行读写操作第三这些进程会使用相同的系统资源。 这样的三个特点会带来什么问题呢 因为这些进程能够相互看到并且进行通信高级权限的进程可以攻击其他进程因为它们使用的是同一个文件系统因此会带来两个问题这些进程可以对于已有的数据进行增删改查具有高级权限的进程可能会将其他进程的数据删除掉破坏掉其他进程的正常运行此外进程与进程之间的依赖可能会存在冲突如此一来就会给运维带来很大的压力因为这些进程使用的是同一个宿主机的资源应用之间可能会存在资源抢占的问题当一个应用需要消耗大量 CPU 和内存资源的时候就可能会破坏其他应用的运行导致其他应用无法正常地提供服务。 针对上述的三个问题如何为进程提供一个独立的运行环境呢 针对不同进程使用同一个文件系统所造成的问题而言Linux 和 Unix 操作系统可以通过 chroot 系统调用将子目录变成根目录达到视图级别的隔离进程在 chroot 的帮助下可以具有独立的文件系统对于这样的文件系统进行增删改查不会影响到其他进程因为进程之间相互可见并且可以相互通信使用 Namespace 技术来实现进程在资源的视图上进行隔离。在 chroot 和 Namespace 的帮助下进程就能够运行在一个独立的环境下了但在独立的环境下进程所使用的还是同一个操作系统的资源一些进程可能会侵蚀掉整个系统的资源。为了减少进程彼此之间的影响可以通过 Cgroup 来限制其资源使用率设置其能够使用的 CPU 以及内存量。 那么应该如何定义这样的进程集合呢 其实容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。所谓“视图隔离”就是能够看到部分进程以及具有独立的主机名等控制资源使用率则是可以对于内存大小以及 CPU 使用个数等进行限制。容器就是一个进程集合它将系统的其他资源隔离开来具有自己独立的资源视图。 容器具有一个独立的文件系统因为使用的是系统的资源所以在独立的文件系统内不需要具备内核相关的代码或者工具我们只需要提供容器所需的二进制文件、配置文件以及依赖即可。只要容器运行时所需的文件集合都能够具备那么这个容器就能够运行起来。 什么是镜像 综上所述我们将这些容器运行时所需要的所有的文件集合称之为容器镜像。 那么一般都是通过什么样的方式来构建镜像的呢通常情况下我们会采用 Dockerfile 来构建镜像这是因为 Dockerfile 提供了非常便利的语法糖能够帮助我们很好地描述构建的每个步骤。当然每个构建步骤都会对已有的文件系统进行操作这样就会带来文件系统内容的变化我们将这些变化称之为 changeset。当我们把构建步骤所产生的变化依次作用到一个空文件夹上就能够得到一个完整的镜像。 changeset 的分层以及复用特点能够带来几点优势 第一能够提高分发效率简单试想一下对于大的镜像而言如果将其拆分成各个小块就能够提高镜像的分发效率这是因为镜像拆分之后就可以并行下载这些数据第二因为这些数据是相互共享的也就意味着当本地存储上包含了一些数据的时候只需要下载本地没有的数据即可举个简单的例子就是 golang 镜像是基于 alpine 镜像进行构建的当本地已经具有了 alpine 镜像之后在下载 golang 镜像的时候只需要下载本地 alpine 镜像中没有的部分即可第三因为镜像数据是共享的因此可以节约大量的磁盘空间简单设想一下当本地存储具有了 alpine 镜像和 golang 镜像在没有复用的能力之前alpine 镜像具有 5M 大小golang 镜像有 300M 大小因此就会占用 305M 空间而当具有了复用能力之后只需要 300M 空间即可。 如何构建镜像 如下图所示的 Dockerfile 适用于描述如何构建 golang 应用的。 8 分钟入门 K8s | 详解容器基本概念 如图所示 FROM 行表示以下的构建步骤基于什么镜像进行构建正如前面所提到的镜像是可以复用的WORKDIR 行表示会把接下来的构建步骤都在哪一个相应的具体目录下进行其起到的作用类似于 Shell 里面的 cdCOPY 行表示的是可以将宿主机上的文件拷贝到容器镜像内RUN 行表示在具体的文件系统内执行相应的动作。当我们运行完毕之后就可以得到一个应用了CMD 行表示使用镜像时的默认程序名字。 当有了 Dockerfile 之后就可以通过 docker build 命令构建出所需要的应用。构建出的结果存储在本地一般情况下镜像构建会在打包机或者其他的隔离环境下完成。 那么这些镜像如何运行在生产环境或者测试环境上呢这时候就需要一个中转站或者中心存储我们称之为 docker registry也就是镜像仓库其负责存储所有产生的镜像数据。我们只需要通过 docker push 就能够将本地镜像推动到镜像仓库中这样一来就能够在生产环境上或者测试环境上将相应的数据下载下来并运行了。 如何运行容器 运行一个容器一般情况下分为三步 第一步从镜像仓库中将相应的镜像下载下来第二步当镜像下载完成之后就可以通过 docker images 来查看本地镜像这里会给出一个完整的列表我们可以在列表中选中想要的镜像第三步当选中镜像之后就可以通过 docker run 来运行这个镜像得到想要的容器当然可以通过多次运行得到多个容器。一个镜像就相当于是一个模板一个容器就像是一个具体的运行实例因此镜像就具有了一次构建、到处运行的特点。 小结 简单回顾一下容器就是和系统其它部分隔离开来的进程集合这里的其他部分包括进程、网络资源以及文件系统等。而镜像就是容器所需要的所有文件集合其具备一次构建、到处运行的特点。 二、容器的生命周期 容器运行时的生命周期 容器是一组具有隔离特性的进程集合在使用 docker run 的时候会选择一个镜像来提供独立的文件系统并指定相应的运行程序。这里指定的运行程序称之为 initial 进程这个 initial 进程启动的时候容器也会随之启动当 initial 进程退出的时候容器也会随之退出。 因此可以认为容器的生命周期和 initial 进程的生命周期是一致的。当然因为容器内不只有这样的一个 initial 进程initial 进程本身也可以产生其他的子进程或者通过 docker exec 产生出来的运维操作也属于 initial 进程管理的范围内。当 initial 进程退出的时候所有的子进程也会随之退出这样也是为了防止资源的泄漏。 但是这样的做法也会存在一些问题首先应用里面的程序往往是有状态的其可能会产生一些重要的数据当一个容器退出被删除之后数据也就会丢失了这对于应用方而言是不能接受的所以需要将容器所产生出来的重要数据持久化下来。容器能够直接将数据持久化到指定的目录上这个目录就称之为数据卷。 数据卷有一些特点其中非常明显的就是数据卷的生命周期是独立于容器的生命周期的也就是说容器的创建、运行、停止、删除等操作都和数据卷没有任何关系因为它是一个特殊的目录是用于帮助容器进行持久化的。简单而言我们会将数据卷挂载到容器内这样一来容器就能够将数据写入到相应的目录里面了而且容器的退出并不会导致数据的丢失。 通常情况下数据卷管理主要有两种方式 第一种是通过 bind 的方式直接将宿主机的目录直接挂载到容器内这种方式比较简单但是会带来运维成本因为其依赖于宿主机的目录需要对于所有的宿主机进行统一管理。第二种是将目录管理交给运行引擎。 三、容器项目架构 moby 容器引擎架构 moby 是目前最流行的容器管理引擎mobydaemon 会对上提供有关于容器、镜像、网络以及 Volume的管理。moby daemon 所依赖的最重要的组件就是 containerdcontainerd 是一个容器运行时管理引擎其独立于 moby daemon 可以对上提供容器、镜像的相关管理。 containerd 底层有 containerd shim 模块其类似于一个守护进程这样设计的原因有几点 首先containerd 需要管理容器生命周期而容器可能是由不同的容器运行时所创建出来的因此需要提供一个灵活的插件化管理。而 shim 就是针对于不同的容器运行时所开发的这样就能够从 containerd 中脱离出来通过插件的形式进行管理。其次因为 shim 插件化的实现使其能够被 containerd 动态接管。如果不具备这样的能力当 moby daemon 或者 containerd daemon 意外退出的时候容器就没人管理了那么它也会随之消失、退出这样就会影响到应用的运行。最后因为随时可能会对 moby 或者 containerd 进行升级如果不提供 shim 机制那么就无法做到原地升级也无法做到不影响业务的升级因此 containerd shim 非常重要它实现了动态接管的能力。 本节课程只是针对于 moby 进行一个大致的介绍在后续的课程也会详细介绍。 四、容器 VS VM 容器和 VM 之间的差异 VM 利用 Hypervisor 虚拟化技术来模拟 CPU、内存等硬件资源这样就可以在宿主机上建立一个 Guest OS这是常说的安装一个虚拟机。 每一个 Guest OS 都有一个独立的内核比如 Ubuntu、CentOS 甚至是 Windows 等在这样的 Guest OS 之下每个应用都是相互独立的VM 可以提供一个更好的隔离效果。但这样的隔离效果需要付出一定的代价因为需要把一部分的计算资源交给虚拟化这样就很难充分利用现有的计算资源并且每个 Guest OS 都需要占用大量的磁盘空间比如 Windows 操作系统的安装需要 10~30G 的磁盘空间Ubuntu 也需要 5~6G同时这样的方式启动很慢。正是因为虚拟机技术的缺点催生出了容器技术。 容器是针对于进程而言的因此无需 Guest OS只需要一个独立的文件系统提供其所需要文件集合即可。所有的文件隔离都是进程级别的因此启动时间快于 VM并且所需的磁盘空间也小于 VM。当然了进程级别的隔离并没有想象中的那么好隔离效果相比 VM 要差很多。 总体而言容器和 VM 相比各有优劣因此容器技术也在向着强隔离方向发展。
http://www.lebaoying.cn/news/15213.html

相关文章:

  • 电商门户网站东莞网站建设分享seo
  • 哪家网站游戏做的比较好优化网站推广教程排名
  • 为什么招聘网站做不大有没有做网站的电话
  • 济南济南网站建设龙岩企业网站建设制作
  • 游网站建设方案内容如何进入公众号
  • wordpress多站点子域名自己做网站好不好
  • 网站服务器 维护酒店网站建设
  • 制学网网站国内优秀网站设计师
  • 网站开发的流程是wordpress目录列表
  • 学校网站建设需求文档福州开发网站公司
  • 免费申请域名做网站iH5做网站
  • 北京市西城区住房建设局官方网站网站 asp php
  • 大良网站设计价格wordpress 主题和插件下载失败
  • 在那个网站做直播好赚钱建公司网站流程
  • 如何建立一个网站并运行注册网站有什么风险吗
  • 博客社区类网站模板做响应式网站的体会
  • 城市建设网站鹤岗市沧州网站seo公司
  • 天睦和生态建设有限公司网站网站建设中倒计时模板
  • 做一个php连接sql网站推广服务商是什么意思
  • 网站首页模块wordpress配置邮箱
  • 江门论坛建站模板jsp网站开发实训
  • 问题反馈的网站怎么做app开发公司怎么赚钱的
  • 个人网站建设怎么赚钱专业网架公司
  • 个人可以做网站导航域名不备案能用吗
  • 国外免费logo网站网页关于我们怎么设计
  • 免费的毕业设计网站建设关于机场建设的网站
  • 泸州网站制作小程序token
  • 哪个网站ppt模板免费下载windows软件开发
  • 民治做网站公司网站游戏网站建设
  • 包装技术支持 东莞网站建设wordpress 语言设置中文