首页 > 其他 > 详细

一个比喻讲明Docker是什么

时间:2019-04-27 21:32:09      阅读:183      评论:0      收藏:0      [点我收藏+]

PS:
之前一直听运维的同事讲Docker,说弄个Docker镜像,打包些应用什么的,还有时不时地在一些帖子里见到过关于Docker的三言两语,然后自己也自我感觉良好的把它总结归纳了一下认为:“往Docker里面打包一大堆的应用,然后我就可以拿着这个Docker,到处运行了”。就因为这,还闹出过笑话,所以啊,是时候了解一下这无所不能的Docker到底是个什么鬼;一番折腾,终于弄明白了什么是Docker;其中有一个帖子个人感觉非常有趣,所以截取了其中一段,特此分享,内容大致如下:

Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。
想要搞懂Docker,其实看它的两句口号就行。第一句,是“Build, Ship and Run”。

技术分享图片

也就是,“搭建、发送、运行”,三板斧。举个例子:我来到一片空地,想建个房子,于是我搬石头、砍木头、画图纸,一顿操作,终于把这个房子盖好了。

技术分享图片

结果,我住了一段时间,想搬到另一片空地去。这时候,按以往的办法,我只能再次搬石头、砍木头、画图纸、盖房子。但是,跑来一个老巫婆,教会我一种魔法。这种魔法,可以把我盖好的房子复制一份,做成“镜像”,放在我的背包里。

技术分享图片

等我到了另一片空地,就用这个“镜像”,复制一套房子,摆在那边,拎包入住。

技术分享图片

怎么样?是不是很神奇?所以,Docker的第二句口号就是:“Build?once,Run?anywhere”,搭建一次,到处能用。
Docker技术的三大核心概念,分别是:

  • 镜像(Image)
    我刚才例子里面,那个放在包里的“镜像”,就是Docker镜像
  • 容器(Container)
    而我的背包,就是Docker仓库
  • 仓库(Repository)
    我在空地上,用魔法造好的房子,就是一个Docker容器

说白了,这个Docker镜像,是一个特殊的文件系统。它除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(例如环境变量)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。也就是说,每次变出房子,房子是一样的,但生活用品之类的,都是不管的。谁住谁负责添置。每一个镜像可以变出一种房子。那么,我可以有多个镜像呀!也就是说,我盖了一个欧式别墅,生成了镜像。另一个哥们可能盖了一个中国四合院,也生成了镜像。还有哥们,盖了一个非洲茅草屋,也生成了镜像。。。这么一来,我们可以交换镜像,你用我的,我用你的,岂不是很爽?

技术分享图片

于是乎,就变成了一个大的公共仓库。负责对Docker镜像进行管理的,是Docker Registry服务(类似仓库管理员)。不是任何人建的任何镜像都是合法的。万一有人盖了一个有问题的房子呢?所以,Docker?Registry服务对镜像的管理是非常严格的。最常使用的Registry公开服务,是官方的Docker Hub,这也是默认的 Registry,并拥有大量的高质量的官方镜像。


原文链接:https://www.jianshu.com/p/f1f94c6968f5

一个比喻讲明Docker是什么

原文:https://www.cnblogs.com/dafengdeai/p/10780356.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!