5分钟让你懂得什么是容器技术?

容器是轻量级的操作系统级虚拟化,允许我们在资源隔离的进程中运行应用程序及其依赖项。运行应用程序所需的所有必要组件都打包为一个映像,可以重复使用。当一个映像被执行时,它在一个隔离的环境中运行,不共享内存、CPU或主机操作系统的磁盘。这样可以保证容器内的进程不能监视容器外的任何进程。

640?wx_fmt=jpeg

容器与虚拟机的区别


虚拟机通常包括整个操作系统和应用程序。它们还需要一个与它们一起运行的管理程序来控制虚拟机。由于它们包括操作系统,因此它们的大小为几千兆字节。使用虚拟机的一个缺点是,它们需要花费几分钟来启动操作系统,并初始化它们所承载的应用程序。同时,这些容器是轻量级的,并且大部分在兆字节大小范围内。与虚拟机相比,容器的性能要好得多,几乎可以立即启动。


640?wx_fmt=png

 

容器解决了什么问题


大多问题都是在运行环境改变时才显现的,可能是这样一种场景,开发者把代码从开发环境 推送到测试环境然后到更上层的环境。例如:开发人员在Windows中编写了应用程序代码,但是上层环境(测试、阶段或生产环境)是基于Linux的。在这种情况下,当操作系统发生变化时,应用的某些功能可能就会出现问题。因此,基本上,当支持的软件环境不相同的时候,间歇性故障的可能性就会更大。

容器的优点



·       敏捷环境:容器技术最大的优点是创建容器实例比创建虚拟机示例快得多,容器轻量级的脚本可以从性能和大小方面减少开销。

·       提高生产力:容器通过移除跨服务依赖和冲突提高了开发者的生产力。每个容器都可以看作是一个不同的微服务,因此可以独立升级,而不用担心同步。

·       版本控制:每一个容器的镜像都有版本控制,这样就可以追踪不同版本的容器,监控版本之间的差异等等。

·       运行环境可移植:容器封装了所有运行应用程序所必需的相关的细节比如应用依赖以及操作系统。这就使得镜像从一个环境移植到另外一个环境更加灵活。比如,同一个镜像可以在 Windows 或 Linux 或者 开发、测试或 stage 环境中运行。

·       标准化: 大多数容器基于开放标准,可以运行在所有主流 Linux 发行版、Microsoft 平台等等。

·       安全:容器之间的进程是相互隔离的,其中的基础设施亦是如此。这样其中一个容器的升级或者变化不会影响其他容器。

容器的缺点




·       复杂性增加:随着容器及应用数量的增加,同时也伴随着复杂性的增加。在生产环境中管理如此之多的容器是一个极具挑战性的任务,可以使用 
Kubernetes 和 Mesos 等工具管理具有一定规模数量的容器。

·       原生 Linux 支持:大多数容器技术,比如 Docker,基于 Linux 容器(LXC),相比于在原生 Linux 中运行容器,在 Microsoft 环境中运行容器略显笨拙,并且日常使用也会带来复杂性。

·       不成熟:容器技术在市场上是相对新的技术,需要时间来适应市场。开发者中的可用资源是有限的,如果某个开发者陷入某个问题,可能需要花些时间才能解决问题。

容器的分类






操作系统容器:正如维基百科所说,“操作系统级虚拟化是一种计算机虚拟化方法,其中操作系统的内核允许存在多个独立的用户空间实例,而不是一个。从程序运行的角度来看,这些实例有时被称为容器、虚拟化引擎(VES)或监狱(FreeBSDjail或chrootjail),可能看起来像真正的计算机。”

 如前所述,它们共享主机操作系统的内核,但提供用户空间隔离。可以安装、配置和运行不同的应用程序,就像在主机操作系统上运行应用程序一样。同样,分配给容器的资源仅对该容器可见。任何其他来宾操作系统映像都无法访问其他来宾操作系统的资源。


640?wx_fmt=jpeg

应用程序容器正如维基百科所说,“应用程序虚拟化是一种软件技术,它从执行它的底层操作系统中封装计算机程序。一个完全虚拟化的应用程序并不是传统意义上安装的,尽管它仍然像以前一样执行。应用程序在运行时的行为就像它直接与原始操作系统以及由它管理的所有资源交互一样,但可以不同程度地隔离或沙盒化。

在此上下文中,“虚拟化”一词指的是被封装的工件(应用程序),这与硬件虚拟化中的含义有很大的不同,在硬件虚拟化中,它指的是被抽象的工件(物理硬件)。

应用程序容器设计为将服务打包并作为单个进程运行,而在OS容器中,可以运行多个服务和进程。

像Docker和Rocket这样的容器技术就是应用容器的例子。

640?wx_fmt=jpeg

长按二维码 ▲

订阅「架构师小秘圈」公众号

如有启发,帮我点个在看,谢谢↓

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值