阿里云原生学习:02容器的基本概念

2023-05-16

一、容器与镜像

        1.1、容器:视图隔离,资源可限制,独立文件系统的进程集合

                        资源视图隔离(namespace) 如能看见部分进程,独立主机名等
                        控制资源使用率(cgroup)如2G内存大小,cpu使用个数等
                        独立文件系统(chroot)
                        管理虚拟机=管理基础设施:管理容器=直接管理应用本身

        1.2、镜像:运行容器所需要的所有文件集合(k8s是云时代的操作系统,镜像就是操作系统的软件安装包)

                        dockerfile: 描述镜像构建步骤
                        changeset:构建步骤所产生的文件系统的变化。 changeset分层复用 目的是提分发效率,减少磁盘压力
                        有了dockerfile之后,可以通过docker bulid命令构建出所需要的应用,存储在本地。通过docker push 将本地镜像推到docker registry 镜像仓库中,这样就可以在生产环境或者测试环境上将相应的数据下载下来并运行

        1.3、如何运行容器

                1.从镜像仓库docker registry下载相应镜像
                2.镜像下载完成后,使用docker images查看本地镜像,这里会给出一个完整的镜像,可以在列表中选中想要的镜像
                3.选中后,docker run运行镜像来得到想要的容器。可以通过多次运行得到多个容器。一个镜像就相当于一个模板,一个容器就像一个具体的运行实例,所以镜像具有一次构建,到处运行的特点。

二、容器生命周期

        2.1单进程模型       

               1、init进程生命周期=容器生命周期
                       当initial进程退出时,所有的子进程也会随之退出,这样也是为了防止资源的泄露。但是这样退出后,由于应用程序里面是有状态的,可能会产生一些重要数据,当一个容器被删除或者退出时,数据就会丢失。所以需要将容器所产生的重要数据持久化下来,持久化到指定目录,这个目录就叫数据卷。
                2、运行期间可执行exec执行运维操作

        2.2数据持久化

                1、独立于容器生命周期
                            容器的创建,运行,停止,删除等操作都和数据卷没有任何关系。我们将数据卷挂载到容器内,这样容器就能将数据写入到相应的目录里面了
                2、数据卷管理的两种方式
                            binds: 通过bind的方式,直接将宿主机的目录直接挂载到容器,这种方式比较简单,但会带来运维成本,因为其依赖宿主机的目录,需要对于所有的宿主机进行统一管理                                         docker volume : 直接将目录管理交给运行引擎

三、容器项目架构

                moby容器引擎架构(略)

四、容器 vs VM

       4.1、 VM

                        

                        1.利用Hypervisor来模拟硬件资源(cpu,内存等),从而建立Guest OS
                        2.应用拥有Guest OS 所有资源, 每一个guest os都有一个独立的内核
                        3.更好的隔离效果,Hypervisor需要消耗更多资源
                           因为需要把一部分的 计算资源交给虚拟化,这样就很难充分利用现有的计算资源,并且每个Guest OS都需要占用大量的磁盘空间。同时这样的启动方式很慢

       4.2、container

                        

                1.容器针对进程级别隔离,所以无需Guest OS,
                   只需要一个独立的文件系统提供所需要的文件集合即可。
                2.启动时间更快
                    所有文件隔离是进程级别的,所以启动时间快于VM,而且所需的磁盘空间也小于VM
                3.隔离消耗资源少,隔离效果弱于VM
                    因为是进程级别,所以隔离效果没有那么好

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿里云原生学习:02容器的基本概念 的相关文章

  • 常用主题建模方法简单对比LSA&PLSA&LDA&HDP

    几种常用的主题建模方法 潜在语义分析 LSA I 概率潜在语义分析 PLSA 潜在狄利克雷分布 LDA 层次狄利克雷过程 HDP LSA I存在的主要问题 SVD计算非常耗时 xff0c 尤其文本处理 xff0c 词和文本数都是非常大的 x
  • banner2.1新版的使用,图片加载方法

    新版banner没有了设置图片和加载图片的方法 xff0c 弄了好几天才发现要设置适配器才可以使用 使用banner setaAapter方法设置适配器 xff0c 里面创建一个匿名内部类 xff0c 然后继承BannerImageAdap
  • yum解决依赖问题巧用

    1 使用yum查找软件需要用到的依赖包 xff0c 需要使用的命令是 xff1a yum deplist 34 要查找的软件 34 例如要查找 安装 redis 需要 的依赖软件有哪些 xff1a yum deplist redis 2 假
  • ubuntu linux 下载的deb包存放位置

    var cache apt archives
  • VMware快捷启动虚拟机+开机自启动

    场景 需要快速启动vm中的虚拟机服务 实现 编写bat文件 xff08 新建txt文件写完改成 bat文件即可 xff09 span class token string 34 D Dev tools VMware span class t
  • Zookeeper思维导图

  • cnpminstall报错:Connecttimeoutfor5000ms踩坑

    问题 xff1a 安装Head插件 xff0c 执行cnpm install 报错 xff0c 报错如下 xff1a Get binary mirror config latest from https registry npm taoba
  • 解决执行grunt命令报错【Cannot find module 'coffeescript/register'】

    在使用grunt的插件执行grunt命令时报错 xff1a 如图 xff1a 报错信息 xff1a Cannot find module 39 coffeescript register 39 解决办法 xff1a 1 xff1a 删除项目
  • Linux命令(1)

    1 判断一个命令的类型 type xff1a 格式 xff1a type xff08 一个空格 xff09 命令 作用 xff1a 判断该类型是内部还是外部命令 还可以显示该命令文件路径 2 查看一个文件的类型 file 格式 xff1a
  • 关于单链表的理解

    链表是一种物理 存储单元上非连续 非顺序的 存储结构 xff0c 数据元素的逻辑顺序是通过链表中的 指针链接次序实现的 链表由一系列结点 xff08 链表中每一个元素称为结点 xff09 组成 xff0c 结点可以在运行时动态生成 每个结点
  • selinux is active unexpected inconsistency RUN fsck MANUALLY

    启动centos6 5时报错 xff0c 错误主要是 xff1a selinux is active unexpected inconsistency RUN fsck MANUALLY 原因是因为意外关机如断电 xff0c 或者虚拟机中强
  • Linux永久修改主机名

    hostnamectl set hostname xxx
  • 去除重复字母(Java实现)

    题目 去除重复字母 给你一个字符串 s xff0c 请你去除字符串中重复的字母 xff0c 使得每个字母只出现一次 需保证 返回结果的字典序最小 xff08 要求不能打乱其他字符的相对位置 xff09 示例1 输入 xff1a s 61 b
  • JDK介绍(笔记学习)

    JDK介绍 1 JRE和JDK xff08 记忆 xff09 JDK 称为Java开发工具 xff0c 包含了JRE和开发工具 JRE Java运行环境 xff0c 包含了JVM和Java的核心类库 xff08 Java API xff09
  • Collections类(笔记)

    1 Collections的常用功能 重点 import java util Collections java util Collections是集合工具类 xff0c 用来对集合进行操作 常用方法如下 xff1a public stati
  • 计算机网络原理学习笔记第一篇

    计算机网络的出现 世界上第一台电子计算机问世于1946年 xff0c 由于当时造价昂贵 体积极大等原因 xff0c 因此计算机的数量极少 计算机系统是高度集中的 xff0c 它的所有设备都安装在单独的机房中 xff0c 为了提高计算机的利用
  • mac下Tomcat启动成功后浏览器输入localhost:8080拒绝连接的解决办法

    今天根据大佬们的安装教程将Tomcat安装并成功启动 xff0c 而在浏览器中输入localhost xff1a 8080后却出现了 localhost拒绝了我们的连接请求 的字样 xff0c 网上的解决方案五花八门 xff0c 水平也是参
  • Linux中的软件管理

    Linux中的软件管理 yum源头 定义 xff1a yum源是一个软件集合地 xff0c 只需要搜索并安装你想要的软件 yum的全称是Yellowdog Updater Modified xff0c 是一个shell前端软件包管理器 xf
  • Spring拦截器HandlerInterceptor和HandlerInterceptorAdapter

    参考 https blog csdn net zhibo lv article details 81699360 https www cnblogs com jing99 p 11147152 html HandlerInterceptor
  • Java多线程超详解

    引言 随着计算机的配置越来越高 xff0c 我们需要将进程进一步优化 xff0c 细分为线程 xff0c 充分提高图形化界面的多线程的开发 这就要求对线程的掌握很彻底 那么话不多说 xff0c 今天本帅将记录自己线程的学习 程序 xff0c

随机推荐

  • 如何在Ubuntu 20.04上使用UFW设置防火墙

    介绍 Introduction UFW or Uncomplicated Firewall is a simplified firewall management interface that hides the complexity of
  • 人工智能主要分支

    人工智能主要分支 1 主要分支介绍 通讯 感知与行动是现代人工智能的三个关键能力 xff0c 在这里我们将根据这些能力 应用对这三个技术领域进行介绍 xff1a 计算机视觉 CV 人脸识别 自然语言处理 NLP 语音识别 语义识别 在 NL
  • 解决文件上传过大报错The field file exceeds its maximum permitted size of 1048576 bytes.问题

    报错内容如下 只需要在相应的yml配置文件spring下增加相关配置即可
  • 我有一个IT梦

    介绍 作为一名大二的学生 xff0c 接触计算机基础技术近乎俩年 xff0c 俩年来我愈加发觉计算机是一门发展力很强的学科 它多式多样 xff0c 更像是一种挑战 xff0c 对于好强的我来说 xff0c 越来越着迷计算机的世界 纵然未知的
  • Nginx安装教程

    前言 xff1a 同步文章图片有问题想看带有图片版的请移步 xff1a https www yuque com docs share 3fbd7d5a 639c 4ca8 8500 00071b7cb23d BvpWF 本篇文章涉及ngin
  • Kali-Linux-2020.1 设置中文,汉化。

    Kali Linux 2020 1 设置中文 xff0c 汉化 Kali Linux团队在Twitter上宣布 xff1a 新的一年是进行重大改变的好时机 xff0c 因此 xff0c 我们宣布在 即将发布的2020 1版本中 xff0c
  • PowerShell压缩和解压ZIP文件

    压缩 Compress Archive Path D File DestinationPath E File zip 解压 Expand Archive Path E File zip DestinationPath D File
  • python实现基本算法之归并排序(Merge sort)

    基本算法之归并排序 Merge sort 基本算法 04 归并排序 Merge sort 算法 往期请看选择排序 xff0c 插入排序 xff0c 归并排序 xff0c 快速排序等等都发布的 xff01 欢迎大家批评指正 xff01 文章目
  • mysql 异步复制VS半同步复制

    MySQL数据复制原理 异步复制 xff1a 默认情况下 xff0c MySQL的复制是异步复制 xff0c 主服务器及其从服务器是独立的 异步复制可以提供最佳的性能 xff0c 主服务器将更新的数据写入二进制日志 xff08 Binlog
  • mysql读写分离

    读写分离 master xff1a 192 span class token punctuation span 168 span class token punctuation span 2 span class token punctua
  • 在linux中关闭防火墙

    在linux中关闭防火墙 selinux xff08 secure linux 安全的linux xff09 selinux 是linux下的安全措施机制 xff0c 用来保护linux系统的安全 相当于另外一个安全工具 span clas
  • Google Payments?

    The news broke late last week by way of the Wall Street Journal with rumors of a payments service akin to PayPal forthco
  • 数据库中某个表中的某个字段的值是用逗号隔开的多个值,根据逗号拆分并从另一个表中查出数据返回

    两个表的结构如下 a表 b 表 关系说明 b teacherid 61 a user id 查询思路 xff1a FIND IN SET str strlist xff0c 该函数用于判断 str 是否在 strlist 中 xff0c 如
  • 一个玩游戏的失足青年,转行做游戏开发到教育的挣扎过程

    14年的IT从业经历 xff0c 中专毕业后在小镇上开过网吧 在网吧一年多的时间里 xff0c 天天陪人玩游戏 xff0c 后来去读了一个三流计算机专业 xff0c 毕业后转做软件开发 xff0c 最近五年转入游戏开发行业 xff01 从网
  • minikube的部署和安装,排错

    minikube的部署和安装 安装minikube的步骤 环境准备 xff1a 虚拟机至少2个cpu核心 xff0c 2G内存 xff0c 磁盘20G 推荐使用2个cpu核心 xff0c 4G的内存 xff0c 100G的磁盘空间 前期 x
  • lvm逻辑卷

    lvm示例应用 案例描述 xff1a 增加四块scsi硬盘 xff0c 每块100G xff0c 并构建lvm逻辑卷 xff0c 挂载到相应目录下 传统的分区方式 常用命令 临时添加IP地址 xff1a ip add add 192 168
  • VMware虚拟机开机显示you are in emergency mode 解决办法

    问题描述 xff1a 虚拟机开机出错 xff1a you are in emergency mode 出错原因 xff1a 前不久学习lvm逻辑卷时 xff0c 添加磁盘后 xff0c 修改了 etc fstab文件实现开机自动挂载 因为弄
  • k8s学习笔记-暴露服务--暴露服务踩坑排错

    deployment 部署和调度的工具 xff08 组件 xff09 span class token namespace root 64 k8s2 docker span span class token comment kubectl
  • 容器基本概念 ; kubernetes核心概念

    1 容器基本概念 1 容器与镜像 什么是容器 1 容器是一个视图隔离 xff0c 资源可限制 xff0c 独立文件系统的进程集合 视图隔离 xff1a 如能看见部分进程 xff0c 独立主机名等 控制资源使用率 xff1a 如2G内存大小
  • 阿里云原生学习:02容器的基本概念

    一 容器与镜像 1 1 容器 xff1a 视图隔离 xff0c 资源可限制 xff0c 独立文件系统的进程集合 资源视图隔离 xff08 namespace xff09 如能看见部分进程 xff0c 独立主机名等 控制资源使用率 xff08