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

济南好的网站建设公司排名网站群集约化建设通知

济南好的网站建设公司排名,网站群集约化建设通知,能看的网址的浏览器,做个电商平台要多少钱目录 目录 一#xff1a;简单理解操作系统 操作系统#xff1a; 内核#xff1a; 内核空间和用户空间#xff1a; 二#xff1a;简单理解文件系统 1#xff1a;什么是文件系统 2#xff1a;什么是root文件系统 三#xff1a;docker 1#xff1a;docker镜像 2简单理解操作系统 操作系统 内核 内核空间和用户空间 二简单理解文件系统 1什么是文件系统 2什么是root文件系统 三docker 1docker镜像 2docker镜像的分层存储 3容器 a容器 镜像 可读可写层 b: 运行态容器 一些docker的基本操作 4通过docker commit命令来理解镜像的构成 5利用dockfile定制镜像 一简单理解操作系统 操作系统 分为内核和用户空间内核即操作系统用于和计算机硬件通信的部分用户空间即用户程序运行的部分。我们知道人是无法直接和计算机进行交互的操作系统的作用就是上通下达它一方面接收人类给到计算机的指令另一方面他将这些指令转化为计算机零件可以看懂的东西可以理解为操作系统就是把指令转化为特定的电流给到特定的硬件以此实现人类和计算机得交互。我们把操作系统和计算机硬件之间得通信部分看作是内核把操作系统和用户之间的交互看作是用户空间用词可能不太准确但大概意思是这样。 内核 参考自(19条消息) 操作系统的内核到底是什么_操作系统内核是什么_deepin_mq的博客-CSDN博客 内核涉及到的操作进程调度、内存管理、文件系统、网络接口、进程通信等等这些本质上内核是对计算机硬件的抽象。 这样说是因为这里涉及到一个更根本的问题人机交互。如何让计算机理解人的想法需求并将之实现。 比如让计算机计算一下硬盘中的一个文档的字数。我们是没有办法去打开“硬盘”翻箱倒柜找到这个文件然后丢给“CPU”去统计并从“CPU”那里得到这个结果。对于计算机内部真正的核心组成部分CPU、硬盘、内存等等这些硬件人是无法直接去面对和交互的。而计算机处理的所有工作都是通过调用这些硬件设备来完成的。 对操作系统来说最重要的正是管理和调度计算机内部的资源。而具体到操作系统的内部分工则是由内核来真正完成和执行的。除了内核以外操作系统其他所有的部件都不需要也不关注如何计算、如何存储、如何和具体的某个硬件设备打交道。所有的部件都只需要将具体的诉求传递给内核调用内核的接口即可完成硬件资源的调度和使用。 内核抽象了计算机内部硬件资源并统一管理对外提供支持所以内核 计算机硬件。   内核空间和用户空间 参考自用户空间和内核空间到底是什么 - 知乎 (zhihu.com) 我们知道计算机所有运行的程序以及数据其实都是放在内存中的也只有把程序和数据放进内存 计算机才能进行相应的操作或者计算。那么我们以4g的内存举例其中有1g的内存容量是专门给内核相关代码数据用的比如就是地址从0~1g的内存空间这部分内存块我们称之为内核空间而对于1~3g的内存部分则是提供给用户的代码和数据的我们把这部分内存块看作用户空间 图片来自参考。 二简单理解文件系统 1什么是文件系统 文件系统是一种数据结构用于管理计算机中的文件和目录。在计算机中文件系统通常是操作系统的一部分它负责解释和执行文件系统中的文件和目录并提供对文件和目录的访问。文件系统也可以是一个独立的软件模块它运行在操作系统之上提供对文件和目录的访问和管理。 常见的文件系统类型包括 FAT、FAT32、NTFS、ext2、ext3、ext4 等。 再简单一点文件系统不是文件是用来管理文件的的一种数据结构它本身也是可以保存数据之类的比如下面说到的root文件系统它就存储了系统的根目录和根文件系统中的数据和文件。 典型的Linux文件系统由bootfs文件系统和rootfs文件系统组成bootfs会在Kernel加载到内存后umount掉所以我们进入系统看到的都是rootfs。 BootFS 和 rootFS 是 Linux 内核中用于存储和管理根文件系统中的数据和文件的模块。 BootFS 是一个特殊的文件系统它在 Linux 内核启动时自动挂载到内存中并用于存储内核启动时需要使用的数据例如内核镜像、内核配置信息和内核日志等。BootFS 通常使用 LUKS 加密并且可以在内核启动时进行调整。 rootFS 是 Linux 内核中用于存储根文件系统中的数据和文件的模块。它是一个只读的文件系统通常使用 EXT4 文件系统格式。rootFS 通常位于硬盘的最后一个扇区并且是系统启动时第一个被加载的文件系统。在这个文件中可以找到系统引导程序 (如 Grub) 以及用于管理系统文件的 Shell 和命令。 bootfs 和 rootfs 是 Linux 内核中用于存储和管理重要数据的文件系统它们的作用非常重要对于系统的稳定性和安全性都有着至关重要的作用。 2什么是root文件系统 root文件系统不等同于上述的rootfs文件系统它是linux系统下用来管理“/”文件夹的文件系统/文件夹也就是根目录这个目录下包括/home/bin/usr/etc等文件。因为root文件系统是用来管路根目录的也就是说root文件系统可以管理/下面所有文件对所有文件有操作访问的权限所以root 文件系统是操作系统中唯一的超级用户权限所有者所在的文件系统因此只有 root 用户可以访问和修改它。为了保护系统的安全性root 文件系统通常需要进行加密和分区以便只有 root 用户可以访问和修改它。 root 文件系统通常用于存储系统启动文件如 boot 目录、/etc 目录、/var 目录等以及所有系统启动时需要访问的文件。 对于 Linux 而言内核启动就是BootFS 文件系统后会挂载 root 文件系统为其提供用户空间支持这里就是上面说的会用到bootfs。 root 文件系统是指 Linux 系统中的一个特殊文件系统通常用于存储系统的根目录和根文件系统中的数据和文件。在 Linux 系统中root 文件系统通常是只读的并且只有系统管理员才能进行修改。 root 文件系统通常使用 EXT4 文件系统格式并且在 Linux 内核中有一个特殊的模块叫做rootfs或root partition,用于加载和初始化 root 文件系统。在系统启动时内核会首先加载 rootfs 模块然后通过模块中的代码来加载 root 文件系统并将其挂载到根目录下。 root 文件系统是 Linux 系统的核心它包含了系统的启动代码、系统配置文件、系统运行所需的命令和文件等。因此一旦 root 文件系统被损坏或破坏可能会导致整个系统无法运行。因此在维护 Linux 系统时通常需要小心谨慎地操作 root 文件系统。 root 文件系统和 rootfs 文件系统是不同的尽管它们在某些方面有相似之处。 root 文件系统是 Linux 系统中的一个重要文件系统通常用于存储系统的根目录和根文件系统中的数据和文件。root 文件系统通常是只读的并且只有系统管理员才能进行修改。在 Linux 系统中root 文件系统通常使用 EXT4 文件系统格式。 而 rootfs 文件系统是在 Linux 内核中用于加载和初始化根文件系统的模块通常也称为根文件系统模块。rootfs 文件系统模块使用特殊的命令和代码来加载和初始化 root 文件系统并将其挂载到根目录下。与 root 文件系统不同rootfs 文件系统通常是可写的并且系统管理员可以使用该文件系统来更新和修改根文件系统。 因此尽管 root 文件系统和 rootfs 文件系统都是用于存储根目录和根文件系统中的数据和文件但它们的具体实现和功能是不同的。 三docker 参考自镜像 · Docker —— 从入门到实践 · 看云 (kancloud.cn) 1docker镜像 docker镜像就相当于一个root文件系统。比如官方镜像 ubuntu:18.04 就包含了完整的一套 Ubuntu 18.04 最小系统的 root 文件系统。 题外话这也是为什么说docker容器比虚拟机轻量的原因因为docker只是一个root文件系统也就是相当于只虚拟了用户空间而虚拟机时要虚拟整个操作系统它不仅要虚拟用户空间还要虚拟内核。每一个虚拟机都是这样所以很笨重。 Docker 镜像是一个特殊的文件系统除了提供容器运行时所需的程序、库、资源、配置等文件外还包含了一些为运行时准备的一些配置参数如匿名卷、环境变量、用户等。镜像不包含任何动态数据其内容在构建之后也不会被改变。 注意docker镜像相当于root文件系统但它不是root文件系统也不是rootfs文件系统它就是一组只读的文件系统。 在 Docker 镜像中数据和配置通常存储在 Docker 镜像的卷中而不是在 rootfs 文件系统中。Docker 镜像的卷是一个或多个只读的文件系统它们可以被映射到容器的目录中从而为容器提供所需的数据和配置。因此Docker 镜像并不直接等同于 rootfs 文件系统但它们可以一起用于构建和部署容器化应用程序。 2docker镜像的分层存储 因为镜像包含操作系统完整的 root 文件系统其体积往往是庞大的因此在 Docker 设计时就充分利用 Union FS 的技术将其设计为分层存储的架构。所以严格来说镜像并非是像一个 ISO 那样的打包文件镜像只是一个虚拟的概念其实际体现并非由一个文件组成而是由一组文件系统组成或者说由多层文件系统联合组成。 docker镜像时一组文件系统这组文件系统有层次划分。 镜像构建时会一层层构建前一层是后一层的基础。每一层构建完就不会再发生改变后一层上的任何改变只发生在自己这一层。比如删除前一层文件的操作实际不是真的删除前一层的文件而是仅在当前层标记为该文件已删除。在最终容器运行的时候虽然不会看到这个文件但是实际上该文件会一直跟随镜像。因此在构建镜像的时候需要额外小心每一层尽量只包含该层需要添加的东西任何额外的东西应该在该层构建结束前清理掉。 因此我们可以把镜像简单理解为一组只读的文件系统 参考(19条消息) docker容器和镜像的区别_docker镜像和容器的区别_清风不灭的博客-CSDN博客 3容器 参考容器 · Docker —— 从入门到实践 · 看云 (kancloud.cn) (19条消息) docker容器和镜像的区别_docker镜像和容器的区别_清风不灭的博客-CSDN博客 镜像Image和容器Container的关系就像是面向对象程序设计中的 类 和 实例 一样镜像是静态的定义容器是镜像运行时的实体。再做个类比镜像就是代码容器就是代码运行起来的进程。仅作类比 a容器 镜像 可读可写层 图片来源于Docker系列学习(14) -- 容器内镜像分层详解 - 掘金 (juejin.cn) 这个读写层可以读取下面镜像层的内容但是是只能读不能写的 容器的实质是进程但与直接在宿主执行的进程不同容器进程运行于属于自己的独立的 命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间甚至自己的用户 ID 空间。 b: 运行态容器 一些docker的基本操作 运行态容器 容器 隔离的进程空间图中灰色框表示进程 其他命令可以详细参考(19条消息) docker容器和镜像的区别_docker镜像和容器的区别_清风不灭的博客-CSDN博客 4通过docker commit命令来理解镜像的构成 docker commit 命令可以将容器的存储层保存下来成为镜像。换句话说就是在原有镜像的基础上再叠加上容器的存储层并构成新的镜像。存储记录了文件的变化以及新加入的东西等 举例如下参考自利用 commit 理解镜像构成 · Docker —— 从入门到实践 · 看云 (kancloud.cn) 这里我们可以看到容器的这个读写层实际上最开始的时候是直接读取的镜像保存的东西但其实不是简单的读取后面会细说 这样看上去我们修改了镜像的内容实际上是没有的我们永远要记住镜像是只读的 那么修改的到底是什么呢 其实是参考自Docker系列学习(14) -- 容器内镜像分层详解 - 掘金 (juejin.cn) 容器层有一种特效叫 copy-on-wirte, 这是指在容器层进行文件修改时容器层会自上向下逐层扫描镜像层寻找文件找到后会copy一份副本到容器层中再进行修改这样不会影响镜像 这里还要提一下对容器层删除文件的操作上面也说了容器层的文件是从镜像层copy来的删除的时候删除copy的文件但如果没有拷贝的文件就会生成了一条删除记录记录在without文件中并屏蔽对该镜像层中这个文件的读取 容器层被删除时容器层内的所有文件都会失效数据也会被删除 同时当我们运行一个容器的时候如果不使用卷的话我们做的任何文件修改都会被记录于容器存储层里。这样上层的镜像内容就会覆盖底层的镜像内容看上去就像是修改了底层镜像内容一样实际上底层镜像内容并没有动 这里我们通过commit理解了镜像的生成但实际上我们很少直接用commit来生成镜像因为commit是一个黑箱操作他会带来很多无关的内容。而且很多操作是不可知的另外因为我们说了这样的方式是不会修改之前层的我们只会在当前的容器可读可写层记录之前层文件的添加修改之类的所以会让镜像不断的臃肿。 5利用dockfile定制镜像 待续使用 Dockerfile 定制镜像 · Docker —— 从入门到实践 · 看云 (kancloud.cn) 从刚才的 docker commit 的学习中我们可以了解到镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本用这个脚本来构建、定制镜像那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。  Dockerfile 是一个文本文件其内包含了一条条的 指令(Instruction)每一条指令构建一层因此每一条指令的内容就是描述该层应当如何构建。 拿上面的例子来举例 6基础镜像 参考使用 Dockerfile 定制镜像 · Docker —— 从入门到实践 · 看云 (kancloud.cn) 在dockfile中from用于指定基础镜像我们说用dockfile来定制镜像那一定是以一个镜像为基础在其上进行定制。就像我们之前运行了一个 nginx 镜像的容器再进行修改一样基础镜像是必须指定的。因此一个 Dockerfile 中 FROM 是必备的指令并且必须是第一条指令。 在 Docker Hub 上有非常多的高质量的官方镜像有可以直接拿来使用的服务类的镜像如 nginx、redis、mongo、mysql、httpd、php、tomcat 等也有一些方便开发、构建、运行各种语言应用的镜像如 node、openjdk、python、ruby、golang 等。可以在其中寻找一个最符合我们最终目标的镜像为基础镜像进行定制。 如果没有找到对应服务的镜像官方镜像中还提供了一些更为基础的操作系统镜像如 ubuntu、debian、centos、fedora、alpine 等这些操作系统的软件库为我们提供了更广阔的扩展空间。 除了选择现有镜像为基础镜像外Docker 还存在一个特殊的镜像名为 scratch。这个镜像是虚拟的概念并不实际存在它表示一个空白的镜像。 如果你以 scratch 为基础镜像的话意味着你不以任何镜像为基础接下来所写的指令将作为镜像第一层开始存在。 不以任何系统为基础直接将可执行文件复制进镜像的做法并不罕见比如 swarm、etcd。对于 Linux 下静态编译的程序来说并不需要有操作系统提供运行时支持所需的一切库都已经在可执行文件里了因此直接 FROM scratch 会让镜像体积更加小巧。使用 Go 语言 开发的应用很多会使用这种方式来制作镜像这也是为什么有人认为 Go 是特别适合容器微服务架构的语言的原因之一。 7dockfile的RUN命令  参考自使用 Dockerfile 定制镜像 · Docker —— 从入门到实践 · 看云 (kancloud.cn) RUN命令的作用就是新开一个容器然后再这个容器上执行命令执行完以后把这层可读可写层commit成一个镜像。 这里可以很好的说明为什么commit会造成镜像臃肿像这里的命令一样每一个RUN就是一层镜像但我们的最终目标其实就是最后的一个RUN而中间的RUN其实就是写编译软件呀或者编译过程的中间文件这些文件其实是不需要的但是这里的RUN和commit一样都保存下来了所以会让镜像越来越臃肿。 8docker build建立镜像 参考使用 Dockerfile 定制镜像 · Docker —— 从入门到实践 · 看云 (kancloud.cn) 未完待续........
http://www.dnsts.com.cn/news/180550.html

相关文章:

  • 网站seoapp软文模板
  • 松江新城投资建设发展有限公司网站网站开发英文怎么说
  • 做调查的网站有哪些网络营销方案制定
  • 作者自己建立的网站企业网站排名软件能优化
  • 聚震网站开发制作wordpress模板教程
  • 鄂州商城网站建设如何新建一个网页页面
  • 网站建设ssc源码最新什么网站可以自学ps做贵宾卡
  • 南京做企业网站的公司哪家公司做企业网站稳定优惠
  • 网站设计制作都有哪些西宁电商网站制作公司
  • 四网合一的网站被窝家装公司
  • 淮安做网站app大连网站开发选领超科技
  • 常州市武进区城乡建设局网站国外服务器域名需要备案吗
  • php 网站开发流程图dede转wordpress
  • 东营专业网站建设公司排行图书类网站开发的背景
  • seo是什么意思职业seo网站优化代码
  • 网站代码如何做优化平面设计师工资多少钱一个月
  • 宁波市政务网站建设和管理标准基于php+mysql的网站开发
  • 两学一做网站进不去网站设计 案例
  • 现在外贸做哪个网站好google国际版入口
  • 建设项目公示网站论述电子商务网站建设的流程
  • 网站建设公司广告语 宣传语自己做头像的网站非流光
  • 长沙网站制造个人网站建设思路
  • 太原网站制作可以做烟的网站吗
  • 成品ppt的网站免费直播有哪些公司网站被百度转码了
  • 济南网站建设百家号中国企业排名500强
  • 做企业网站合同如何用网站开发工具停止网页进程
  • 湖南环保设备公司中企动力网站建设技术支持企业网站设计与规划论文
  • wordpress 英文站什么叫网站app
  • wordpress 中文插件大全长沙百度seo代理
  • 做ppt赚钱的网站四川省建设厅职改办网站