绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
So easy ! 两句口号轻松搞懂Docker
2019-09-11 16:17:11

作为云计算IT圈里人, 如果还不知道Docker,那就算out啦。不过,在搞懂Docker之前,得先来了解一下Docker的成名之路!

从dotCloud到Docker,一“开”鸣人!

2010年,美国一家叫“dotCloud”的初创公司,主要提供基于PaaS的云计算技术服务。

初创企业总是艰难的,在大公司的挤压下,dotCloud也举步维艰。

而随着开源的洪流袭来,2013年,dotCloud 的创始人Solomon Hykes做了个艰难的决定:“将dotCloud的核心引擎,也就是Docker开源!”然而一旦这个基于 LXC技术的核心管理引擎开源,dotCloud公司就相当于走上了一条"不归路"。

可正是这个孤注一掷的举动,却得到了全球技术人员的拥护,众程序员惊呼:太方便了!

甚至像谷歌、微软、亚马逊、VMware等巨头,也开始对它青睐有加。

Docker口号1:Build, Ship and Run

而想要搞懂Docker,先来看它口号的句:“Build, Ship and Run”,也就是“搭建、发送和运行”。

以盖房子为例:

你想在一片空地上建个房子,得画图 纸、搬砖头、弄材料,一顿操作后,终于把房子盖好了。

结果,住了一段时间,想搬到另一片空地去。这时候,按以往的办法,只能再次画图 纸、搬砖头、弄材料、盖房子。

可如果能把之前盖好的房子复制一份,做成“镜像”,放在自己的背包里。等到了新的空地,就用这个“镜像”,复制粘贴出一套房子,是不是就轻松多了。

Docker口号2:Build?once,Run?anywhere

Docker的第二句口号就是:“Build?once,Run?anywhere(搭建一次,到处能用)”。

这里要涉及到Docker的三大核心概念,分别是:

镜像(Image)

容器(Container)

仓库(Repository)

在上面的例子中,那个放在包里的“镜像”,就是Docker镜像。而背包,就是Docker仓库。在空地上,用复制粘贴造好的房子,就是一个Docker容器。

这个Docker镜像,是一个特殊的文件系统。它除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(例如环境变量)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

也就是说,每次变出房子,房子是一样的,但生活用品等是不管的,谁住谁负责添置。

每一个镜像可以变出一种房子,那多个镜像就能变出多个种类的房子。比如,有的人盖了别墅,生成了镜像;有的人盖了四合院,也生成了镜像;还有的人盖了茅草屋,也生成了镜像……

这么一来,大家相互间就可以交换镜像,你用我的,我用你的,岂不是多方共赢?

于是乎,就变成了一个大的公共仓库。

Docker仓库用来保存我们的“镜像”,当创建了“镜像”后,可以使用push命令将它上传到公有或者私有仓库,这样下次要在别的机器上使用这个“镜像”时,只需从仓库上pull下来即可。

负责对Docker镜像进行管理的,是Docker Registry服务(类似仓库管理员)。但不是任何人建的任何镜像都是合法的,万一有人盖了有问题的房子呢?

因此,Docker Registry服务对镜像的管理是非常严格的。官方的Docker Hub是常用的Registry公开服务,这也是默认的 Registry,并拥有大量的高质量的官方镜像供用户下载。

Docker的运行离不开上面几个的支持,也有人会误以为,Docker就是容器。但Docker只会傲娇地说:“我不是容器,我是创建容器的工具,是应用容器引擎。”

分享好友

分享这个小栈给你的朋友们,一起进步吧。

唠唠云原生
创建时间:2020-05-11 11:26:03
云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。 Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~