什么是容器?容器技术有什么优势?能解决样的问题?
您当前的位置 : 首页 > BOB官方网站入口

什么是容器?容器技术有什么优势?能解决样的问题?

  有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。

  容器是轻量级的操作系统级虚拟化,可以让我们在一个资源隔离的进程中运行应用及其依赖项。运行应用程序所必需的组件都将打包成一个镜像并可以复用。执行镜像时,它运行在一个隔离环境中,并且不会共享宿主机的内存、CPU 以及磁盘,这就保证了容器内进程不能监控容器外的任何进程。

  轻便:容器占用的虚拟机少,通常只需几秒钟即可启动。

  弹性:容器具有高弹性,不需要分配给定数量的资源。这在某种程度上预示着容器能够更有效地动态使用服务器中的资源。当一个容器上的需求减少时,释放额外的资源供其他容器使用。

  密度:密度是指一次可以运行单个物理服务器的对象数。容器化允许创建密集的环境,其中主机服务器的资源被充分的利用但不被过度利用。与传统虚拟化相比,容器化允许更密集的环境容器不需要托管自己的操作系统。

  性能:当资源压力很大时,应用程序的性能远高于使用虚拟机管理程序的容器。因为使用传统的虚拟化,客户操作系统还一定要满足其自身的内存需求,从主机上获取宝贵的RAM。

  大多问题都是在运行环境改变时才显现的,可能是这样一种场景,开发者把代码从开发环境 push 到测试环境然后到更上层的环境。比如开发者在 Windows 上编写应用代码,但是上层环境(测试、stage 或是生产环境)是基于 Linux 的。在这种情况下,当操作系统变化时,应用的某些功能可能就会出现一些明显的异常问题。所以,基本上,当配套软件环境不一样的时候,间歇性故障的几率就会更大。

  正如 Docker 创始人 Solomon Hykes 所说,“测试环境使用 Python 2.7,但是生产环境使用 Python 3,那么一些奇怪的事情就会发生。或者你依赖某个特定版本的 SSl 库的行为,但是却安装了另外一个版本。在 Debian 上运行测试环境,但是生产环境使用 Redhat,那么任何奇怪的事情都有几率发生。”

  改变可能不只是运行环境,也有一定的可能是网络,Hykes 补充道,“网络拓扑可能不同,或者安全策略和存储也有一定的可能不同,但是,软件需要在这些基础设施上面运行。”

  如果还有人问什么是容器,那么一定要推荐他看这一篇文章,相信在仔细的阅读之后,大家都能茅塞顿开。我们对计算机的使用一直都是在不断的学习中才能取得进步,想要学习更多的先进知识,欢迎各位长期关注新网。

上一篇:Docker-容器相关核心技术2023-10-12
Copyright © BOB体育半岛/登录入口在线 All rights reserved 备案号:辽ICP备05006460号-2 网站地图