【DOCKER】走进DOCKER,神奇的环境隔离
写在前面的 上一篇写DOCKER的原则,接下来就说说DOCKER的一些简单的应用吧。DOCKER概念其实DOCKER 的概念的形成就像DOCKER官网的图标一样,一条鲸鱼的脑袋上放了很多集装箱。为什么这样讲?这就要说道DOCKER对于软件运行环境的封装了,简单的理解为,我们每一个“集装箱”里面运行的“系统环境”都是不一样的,而且也是互不干扰的。举个栗子,其中一个“集装箱”内运行的是基于“U
写在前面的
上一篇写DOCKER的原则,接下来就说说DOCKER的一些简单的应用吧。
DOCKER
概念
其实DOCKER 的概念的形成就像DOCKER官网的图标一样,一条鲸鱼的脑袋上放了很多集装箱。
为什么这样讲?这就要说道DOCKER对于软件运行环境的封装了,简单的理解为,我们每一个“集装箱”里面运行的“系统环境”都是不一样的,而且也是互不干扰的。举个栗子,其中一个“集装箱”内运行的是基于“UBUNTU”系统内核的开发环境,另一个“集装箱”内运行的是基于“CENTOS”系统内核的生产环境,然而这两个“集装箱”都可以运行在同一个“平台”上,无论这个“平台”是WINDOWS 还是 LINUX(使用windows作为平台运行的时候对系统版本是有要求的,必须是WIN10以上)都可以作为这个运行平台。
了解了最基本的原理,我们再来看看度娘是怎么说的吧。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。(但是最后一句话我觉得有一些异议,如果必须要实现的话,容器也就是“沙箱”之间也是可以产生交互的。)
容器和镜像
镜像
- 这个概念就属于DOCKER中最基本的概念了,我们在DOCKER中经常需要用到的概念就是“镜像”了。讲到这里,就不得不说一下DOCKER的运行机制,之前我们说到,在DOCKER中运行的是一个一个的被隔离的“沙箱”,其实这一个个的“沙箱”是一个个被DOCKER虚拟化的“小型虚拟机”,每个虚拟机里面运行着不通的程序。可能你就会问了,跑了这么多“虚拟机”,对电脑资源的消耗岂不是很大?如果这样想,那DOCKER 其实就没有必要存在了。我们所提到的“小型虚拟机”只是DOCKER为了节省系统开销,并且最大限度的满足当前需求,所保留的最小系统内核或是一个软件的内核,所以本慎体积就非常小,而这样一个个小体积的“软件内核”或者是“系统内核”就被称之为“镜像”,因为“镜像”本身体积就非常小,而且也具有一些完整软件的功能,所以运行起来之后对系统资源的消耗非常之小。
- 相比于原先我们的实体计算机上只能跑有限个虚拟机而言,现在,我们升级了,我们的一台实体计算机只要安装上DOCKER,在DOCKER内部,我们可以运行上百个“小型虚拟机”。这对于一些财政比较紧的公司而言,是一个非常棒的解决方案。
容器
在刚了解DOCKER的时候,我们最容易搞混的东西就是“镜像”和“容器”了。在这里我也不按照一些官方的定义解释了,目的就是可以让一些刚刚接触DOCKER的人快速上手。所谓“容器”,就是我们之前提到过的“沙箱”。
那么“容器”和“镜像”的区别在哪里呢?简单的来讲,就一句话:容器就是运行起来的镜像!
关系
首先,一个容器里面可以包含多个镜像,官方给出的MAX数量为127个。
其次,一个容器中的镜像分为,基础镜像和应用镜像。基础镜像就好比操作系统,它位于最底层,应用镜像是基于系统镜像来运行的,这样就构成了一种层叠关系。
最后,一张图胜过千言万语,容器是这样“构建”而来的:
- 正如图中所给的那样,一个平台上面运行着两个容器,每个容器中都有自己不同的镜像。
写在后面的
以上就是想要了解DOCKER,就必须先要掌握的最最基础的知识了~~希望大家可以通过这些看似很白痴的语言中了解自己想要的那部分知识,之后我们还会有关于DOCKER的一些其他的由浅入深的教程,欢迎关注。
更多推荐
所有评论(0)