容器(Docker)学习文档

在面对一个全新的概念之时,我们通常会有这样的几个简单的问题作为先导?
1、我们为什么需要它?它是什么?
2、它怎么样(有什么)?它是怎么来的(怎么做到的)?
3、它现在发展到什么程度了呢?
本学习文档就基于这样的三个视角,给出作者个人在学习过程中的理解、体会以及一些简单的实践过程。

Q1、我们为什么需要它?它是什么?

在接触容器之前,在于云计算相识的过程中,我已然接触了“虚拟机”这一概念以及实际应用,寻找他的一个出发点,某种意义上都是为了对应用程序及运行的环境进行隔离,构建一套能够不依赖于具体环境而运行的方式,或者说另一方面也是为了不让在虚拟机这一环境中所产生的一些错误影响宿主机本身。在拥有虚拟机之后,为什么我们还需要容器这一技术,这是我在看到容器如下类似定义之后,产生的最大疑问?

容器:一组受到资源限制,彼此间相互隔离的进程
在翻阅资料后,我愿意给出一个最简单的总结:在不失隔离性的情况下,更具轻量化

在这里插入图片描述
作为对比,上图中,左侧为虚拟机,右侧为容器。
在左图中我重点强调了Hypervisor部分和OS部分,我们重点关注Hypervisor,它是运行在物理服务器和操作系统之间的中间软件层,我们可以直白地认为,有了它我们才得以实现虚拟机,这包含着分配内存,CPU,网络和磁盘等资源的过程,存在着对于资源的限制和隔离。同时,在虚拟机中,我们需要它自身拥有OS,即操作系统。
作为对比,容器技术中可以直接共享宿主机的内容,完全丢弃了上述两点虚拟机中的必要条件,因此它足够轻量化
在学习的过程中,我看到一个有趣的比喻,放在下面作为分享:

虚拟机好比房子,容器好比衣服。衣服是跟着人的,人站起来了,衣服也跟着起来,人躺下了,衣服也躺下了,而房子永远在那里,不管人是躺着还是站着。

做一个简单的总结,容器,“人如其名”,就像生活中的容器(杯子、罐子、箱子)一样,打包(隔离)了整个应用以及运行环境,帮助你在不同的环境下使用。相比于虚拟机还拥有自身的优势。

Q2、它怎么样(有什么)?它是怎么来的(怎么做到的)?

宏观的概念下必然拥有更实际的应用,或者说解决方案。

Docker
在接触它的最初过程中,我倾向于将其与容器(严格说Linux容器)完全等同,但事实上并不完全正确。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值