什么是linux容器技术,Docker容器技术----什么是容器?

什么是容器?

先看看我们生活中的容器。生活中见到的瓶瓶罐罐,就是容器,用来成放东西,并且保护里面的内容不被侵染。

LXC,是Linux Container的缩写,看名称就知道是容器了。是一种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源。LXC所实现的隔离性主要是来自内核的命名空间, 其中pid,net,ipc,mnt,uts等命名空间将容器的进程、网络、消息、文件系统和hostname隔离开。

而Docker相当与是对LXC封装进行二次发行,利用LXC实现类似VM的功能。

看看Docker官网是如何介绍的:

容器是一个标准化的软件单元,它将代码及其所有依赖关系打包,以便应用程序从一个计算环境可靠快速地运行到另一个计算环境。Docker容器镜像是一个轻量的独立的可执行的软件包。包含程序运行的时候所需的一切:代码,运行时间,系统工具,系统库和设置。

Docker容器运行在Docker-Engine中,适用与Windows和Linux,无论基础架构如何,容器软件都将执行相同的运行。容器将软件与其环境隔离开来,并确保它可以统一运行,尽管开发和分段之间存在差异。

标准: Docker创建了容器的行业标准,因此它们可以随处携带。

轻量级:容器共享机器的操作系统内核,因此不需要每个应用程序的操作系统,从而提高服务器效率并降低服务器和许可成本。

安全:应用程序在容器中更安全,Docker提供业界最强大的默认隔离功能。

容器与虚拟机的区别

为什么要和虚拟机做比较,用过虚拟机的同学应该知道,虚拟机也是将主机资源分配出一部分,进行隔离,提供另一个系统环境。

但是虚拟机是模拟出了一台完整的电脑,包括它的硬件资源,虚拟机是可以像电脑一样进入bios中,使用u盘安装系统的。

看看Docker官网的图解。

容器

容器是应用层的抽象,它将代码和依赖关系打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为独立进程运行。容器占用的空间比VM少(容器映像的大小通常为几十MB),可以处理更多的应用程序,并且需要更少的VM和操作系统。

虚拟机

虚拟机(VM)是物理硬件的抽象,将一台服务器转变为多台服务器。管理程序允许多台VM在单台机器上运行。每个VM都包含操作系统的完整副本,应用程序,必要的二进制文件和库 - 占用数十GB。虚拟机也可能很慢启动。

为什么要使用容器?

首先建立在我们需要环境隔离的基础上。

根据上面的介绍,可以看出虚拟机,是主机级虚拟化,完整的虚拟出一台计算机,然后在虚拟出来的机器上安装操作系统,做到环境隔离。想想我们的服务部署在虚拟机上是什么情况。

52d98d2f69eb65e4aceb93d1c6b57133.png

虚拟机

如上图所示,在宿主机中安装了系统,系统中安装了虚拟机,虚拟机虚拟出一台计算机,在虚拟计算机中安装完整的系统,再将服务部署在虚拟系统中。

部署的服务受虚拟机的内核调度,虚拟机受主机的调度,多层及下主机资源产生了严重的浪费。

如果要在一台机器上部署多个服务,还要环境隔离,那就需要有多个虚拟机,所需要的资源也就不言而喻。

如果使用容器是什么样的呢?

c066221426e4805969879ba1a7dcd94f.png

容器

容器是在主机的操作系统中,隔离出单独的用户空间,每个都是单独的沙箱,环境互不影响。需要的系统资源也只是服务所需要的资源,减少了虚拟主机的资源开销。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值