初识容器技术

Posted 玛卡巴卡巴巴亚卡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识容器技术相关的知识,希望对你有一定的参考价值。

一、什么是容器

当一个应用程序组件变小变多,就不再适合使用虚拟机了,容器就是更好的解决方案。容器允许在容易太机器上运行多个服务,不仅给不同服务提供环境,并且让他们相互隔离。

容器中的进程相当于运行在宿主机操作系统上,容器中的进程与其他进程隔离。

二、虚拟机与容器

每个虚拟机需要运行的全套系统进程,会造成额外资源消耗,而容器更加轻量,因为他只是运行在宿主机上的一个被隔离的单独进程,仅消耗应用容器消耗的资源。

当主机上运行了三个虚拟机时,会有三个完全分离的操作系统,它们运行并共享一台裸机。宿主机操作系统与管理程序将物理硬件资源分成小份,以供每个虚拟机的操作系统使用。虚拟机里的应用汇执行虚拟机操作系统的系统调用,虚拟机内核可通过管理程序在宿主机执行x86命令。

        ps:管理程序有使用宿主机os和不使用宿主机os之分。

容器则完全执行运行在宿主机上的同一个内核的系统调用,这个内核是唯一一个在宿主机操作系统上执行x86指令的内核。

相比于容器,虚拟机提供完全隔离的环境,并且运行在自己的内核上,而容器则调用一个内核。

三、容器隔离机制

多个进程运行在一套操作系统上,需要有技术来实现隔离。

1、linux命名空间:每个进程只能看到自己的系统视图

linux最初只有一个命名空间,所有系统资源属于这个命名空间,但可以创建额外的命名空间,并且在它们之间组织资源。一个进程可以在其中一个命名空间运行,进程只能看见统一命名空间的资源。

进程都有自己的命名空间,因此只能看见自己的一组网络接口

2、linux控制组:限制进程使用的资源量。 

cgroup实现,这是一个linux内核功能,限制进程使用,使其不超过分配的量。

以上是关于初识容器技术的主要内容,如果未能解决你的问题,请参考以下文章

初识容器技术

1.Docker技术入门与实战 --- 初识Docker与容器

分享吧带你初识Docker

Docker初识

docker初识

初识dosker+安装docker