《云原生入门级开发者认证》学习笔记之云原生基础设施之容器技术

写在前面


  • 嗯, 了考试,整理课堂笔记记忆
  • 学习的原因:
    • 虽然考了,了解了一些相关的知识
    • 但是对整个体系一直都很模糊
    • 希望对云原生有一个基本的认识
    • 通过学习实现云原生相关入门
  • 博文主要内容涉及:
    • 关于Docker知识体系的简述,适合温习
    • 讲的很浅,都是理论,没有实战

傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。——–王小波


云原生基础设施之容器技术

容器发展背景

企业IT业务云化路径

传统业务云化

容器是什么/h4>

是一种、、的技术,使应用程序可以在几乎任何地方以相同的方式运行。

开发人员在自己开发环境创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行

容器核心思想

将的思想应用到了上,为各类不同的代码提供了一个基于容器的标准化运输系统。

容器与虚拟机

容器和虚拟机 之间的主要在于和。

用户运行在容器里的,跟上的其他一样,都由宿主机操作系统统一管理,只不过这些拥有额外设置过的Namespace参数。而项目在这里扮演的角色,更,多的是旁路式的辅助和管理工作

主要指容器引擎,即。Docker Engine是-个应用程序。Docker engine主要组件有3部分:

  • :是一个长期运行的程序,称为:Docker daemon用于创建和管理docker对象,如容器镜像、容器、 络、卷。
  • :CLI使用Docker REST API通过脚本或直接的CLI命令与Docker daemon交互。
  • :Client可以用它来与daemon进程通信交互。

Docker 架构

PID namespace隔离示例

以交互模式启动一个容器,并在其中运行程序。执行命令查看到””是的进程,即Docker将其隔离于宿主机中的其他进程之外。

Cgroups

: Linux Control Groups作用:,包括、、等。

还可以设置进程优先级,对进程进行挂起和恢复等操作。

原理 :将一组进程放在一个Cgroup中,通过给这个Cgroup分配指定的可用资源,达到控制这一组进程可用资源的目的

实现 :在Linux中,Cgroups以文件和目录的方式组织在操作系统的/sys/fs/cgroup路径下。该路径中所有的资源种类均可被Cgroup限制。

容器镜像

对软件开发而言,容器镜像打通了“开发 – 测试 – 部署”的流程。

是的模板,,根据镜像创建容器

容器镜像挂载在容器根目录下,为容器中的应用提供执行环境的文件系:容器镜像打包了整个操作系统的文件和目录(rootfs),也包括应用本身,即应用及其运行所需的所有依赖都被封装在容器镜像中。

联合文件系统,是实现镜像的技术基础。它是一种轻量级的高性能分层文件系统,支持将文件系统中的修改进行提交和层层叠加。这个特性使得镜像可通过分层实现和继承。

以Overlay2为例: Overlay2是一种堆叠文件系统,它依赖并建立在其它的,并不直接参与磁盘空间结构的划分,仅将原来中不同的,然后向,这也就是。

嗯,这里不太理解,感觉整理类似是linux中的LVM,局部类似写时复制技术,基础的镜像文件不会被修改,只是对修改进行记录,在写入的时候,对镜像文件写入部分进行复制,然后修改后记录。看到的是基础镜像文件 + 写时复制的记录的叠加。

容器数据卷

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于,因此能够绕过提供一些用于或的特性。

将运用与运行的环境打包形成容器运行,对数据的要求希望是的。
容器之间希望有可能。

卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此。

  • 启动容器的时候直接使用就可以进行数据卷的挂载。
  • 还可以在中使用指令来给镜像添加一个或多个数据卷,

容器copy-on-write特性

对容器的增删改查:

  • :新文件中。
  • :依据容器分层结构由上往下依次查找。找到后,在。具体是:会在容器层创建一个文件,将。
  • :依据容器分层结构由上往下依次查找。找到后,将中的到进行修改,修改后的数据保存在。
  • :依据容器分层结构由上往下依次查找,

所有都支持和策略。

Registry

Registry是存放容器镜像的仓库,用户可进行镜像下载和访问,分为公有和私有两类Registry。

公有镜像仓库:

  • 现为Red Hat下的公共托管Registryo

私有镜像仓库:

  • 企业可以用构建私有的。本身是一个开源项目,可以用于搭建私有

Docker Hub中可查看到Registry镜像的。

Docker Hub

是目前世界上最大的容器镜像仓库,由公司维护,并提供官方镜像及大量用户上传的镜像。

如何使用Dockerfile构建镜像

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月2日
下一篇 2022年3月2日

相关推荐