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

容器-基础

容器

      • 什么是容器
      • 容器与虚拟机的区别

什么是容器

容器是在隔离的环境中运行的一个进程
容器在本质上就是一个进程

如果进程结束,容器就会停止
容器隔离的环境比较特殊,它拥有自己的IP地址,系统文件,主机名,进程管理
所以在某些角度,容器与虚拟机相似,但是又不一样


程序

程序:可能是一段代码,一个指令,shell脚本,都可以叫做程序
进程:就是正在运行的程序,正常的进程执行完就会退出
守护进程:在后台一直运行


容器与虚拟机的区别

虚拟机:需要硬件CPU的支持,虚拟机需要模拟计算机的硬件,走正常的开机启动流程

安装操作系统,新建一台虚拟机,开始硬盘是空的,使用光盘ISO,走光驱启动,安装操作系统,硬盘里就有安装好的系统

开机启动流程
bios开机自检–>根据bios启动项–>读取硬盘第一个扇区的引导程序(grub,uefi, centos7)通过引导选择操作系统, 加载对应的内核(会把硬件驱动都加载好),启动系统第一个进程/sbin/init systemd


虚拟机:
而且物理服务器配置很高,就跑一个服务的话,会浪费很多系统资源
如果为了充分利用资源,就多跑一些服务,这样系统环境会很乱(牵一发而动全身)


虚拟机
充分利用资源,每个服务的运行环境越纯越好
方便后期服务迁移
但是每次启动虚拟机,都需要消耗系统资源去模拟硬件,启动的虚拟机多的话,消耗的资源也很可观


容器:
不需要硬件CPU的支持,与宿主机共用内核,启动容器的第一个进程
不用模拟硬件,不走开机启动流程

优势:启动快,性能高,损耗少,轻量级

把所有环境都准备好的情况下,不需要走开机启动流程,直接启动自己的第一个进程,所以启动快
直接使用的是物理硬件,所以性能高
不需要去模拟计算机硬件,所以损耗少
容器的镜像大小,与占用的额外的内存都比较小,所以轻量

部署同样的服务,虚拟机与容器的对比,一目了然
在这里插入图片描述

企业使用容器

业务故障恢复更快

同样的硬件配置,可以提供更高的性能,损耗的资源更少

节省成本,打个比方:
100虚拟机 100个服务 10宿主机
100容器 100个服务 6宿主机
提供相同的性能,同样的需求,容器需要的物理机更少

相关文章:

  • GC垃圾回收
  • 3D场景的制作步骤
  • 【精讲】后台项目 采用vue2框架 完整版内含详细注释 2
  • mac vscode debug安装调试moodle
  • PyTorch(一)安装与环境配置
  • 全网最牛自动化测试框架系列之pytest(7)-yield与终结函数
  • JSR303校验(1)
  • Nacos - 支持PostgreSQL
  • CFD网格质量评估标准
  • 网课答案公众号题库系统
  • 详解AVL树(二叉搜索平衡树)【C++实现】
  • 网课答案公众号搭建方法
  • 牛客网练习题(函数部分)
  • 仿everything的文件搜索工具项目详解:Part3
  • React中this.setState方法原理解析(详解)
  • 《剑指offer》分解让复杂问题更简单
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • CAP理论的例子讲解
  • CSS 专业技巧
  • flutter的key在widget list的作用以及必要性
  • JavaScript 一些 DOM 的知识点
  • Java反射-动态类加载和重新加载
  • k8s 面向应用开发者的基础命令
  • Laravel 实践之路: 数据库迁移与数据填充
  • nfs客户端进程变D,延伸linux的lock
  • React Transition Group -- Transition 组件
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • v-if和v-for连用出现的问题
  • 程序员该如何有效的找工作?
  • 复杂数据处理
  • 关于 Cirru Editor 存储格式
  • 计算机常识 - 收藏集 - 掘金
  • 马上搞懂 GeoJSON
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 前端技术周刊 2019-02-11 Serverless
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何设计一个比特币钱包服务
  • 双管齐下,VMware的容器新战略
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 微服务入门【系列视频课程】
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 找一份好的前端工作,起点很重要
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • #include<初见C语言之指针(5)>
  • #Spring-boot高级
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (09)Hive——CTE 公共表达式
  • (12)Linux 常见的三种进程状态
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (zt)最盛行的警世狂言(爆笑)
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (一)WLAN定义和基本架构转