Docker系列之烹饪披萨(二)

前言

上一篇咱们讲解了虚拟机和容器的区别,本节咱们来说讲Docker中关于Dockerfile、镜像、容器等基本概念。Docker是一个在容器内开发、部署、运行应用程序的平台,Docker本质上是容器化的代名词,容器对于提升软件开发和数据科学的安全性,可重复性和可扩展性起到了重要做用,拥抱Docker已经是趋势,让咱们进入Docker课堂。html

烹饪材料

接下来咱们经过学习如何烹饪披萨,一探究竟Docker平台各个基本概念,一说到吃,你们应该立刻就提起兴趣了。python

Docker Container(容器)

啥是容器啊,搞的这么高深,这么玄乎的概念,因而乎 ,我终于找到容器是什么了,以下:ubuntu

 

哈哈,这就是容器,仍是在某宝上截图来的,不过此容器非彼容器,如上图是一个真实存在的物理收纳箱容器,看到如上真实存在的容器,咱们能想到这样一个容器有什么特色呢?安全

1.承载东西-这固然是最基本的啦,既然是收纳箱,就是用来装东西的,有些东西能够放在收纳箱内,也能够放在收纳箱外(这就比如在容器内能够装载应用程序及其依赖)学习

2.方便携带-有了收纳箱咱们能够随处搬运,就像小孩的玩具同样,能够从家拿到学校,携带方便。(这就比如容器轻巧,能够在任何地方运行)spa

3.接口访问-收纳箱上方有一个盖盖,咱们将其打开,能够放入或取出物品(这就比如容器与外界有链接的机制,好比经过命令行进行数据交互)命令行

4.远程获取-制造商经过对应模具模板能够制造出成千上万个收纳箱,而后将收纳箱放到某宝或某东上,最终咱们在某宝或某东上购买这个收纳箱(这就比如模具是镜像,经过镜像制做容器)htm

物理形式存在的收纳箱容器从被制造出来的那一刻就被赋予了生命,既然被赋予了生命固然也就存在对应的生命周期,咱们可将收纳箱的生命周期概括为四个阶段:孵化、闲置、使用、废弃。万事万物一旦存在,不管是物理形式仍是虚拟形式都有其生命周期,容器也不例外,只不过容器由人为操纵控制其生命周期直至其关闭。blog

 

经过以上引入生活实例物理收纳箱容器的隐喻来对比虚拟化容器,得出虚拟化容器的特色,想必到此应该对容器有了一点点通透的了解。接口

 

Docker Image(镜像) 

上述关于关于物理存在的收纳箱容器是以某种实例而存在,虽然说容器是虚拟的,可是究竟是如何虚拟出来的呢?它是以何种生命形式而存在的呢?答案则是:镜像孕育了容器,也就是说镜像构造出了容器。那么镜像又是什么呢?从语义层面理解,咱们可能认为就是图像,而图像多是根据手机或者摄像机将拍摄范围的所有内容映射到物理图像上,可是事实状况真的如此吗?

显然不是,镜像其实就是一个模具或模板,对于收纳箱的模板以下,咱们根据模板而刻画出如上漂亮且精致的收纳箱容器。

如上所述,咱们根据镜像刻画出了容器,镜像是不可变的主模板,用来抽取出彻底相同的容器,而镜像包含应用程序所须要运行的Dockerfile、代码、库等,如此这些被彻底捆绑在一块儿。

Dockerfile(镜像说明书)

讲完了镜像,咱们又有疑惑了,镜像又是怎么来的呢?经过Dockerfile来建立,Dockerfile是一个文件,这个文件中包含了如何构建镜像的说明,Dockerfile只是用来构建初始镜像层的基本镜像,咱们可将其看作是镜像的说明书。根据Dockerfile中的使用说明,咱们能够将附加层堆叠在基础镜像层的顶部。最后根据Dockerfile代码,在其余层的顶部堆叠薄的可写层,每一层是如此的薄,堆叠可写的过程就好似洋葱的成长过程,多么形象而生动,若是你愿意一层一层,一层的剥开个人心,你会发现 你会讶异....哈哈。

Container Registry (镜像仓储)

若是咱们但愿其余人可以利用咱们的镜像来建立容器,咱们能够将镜像传送到容器注册表中,Docker Hub是最大的默认注册表位置。

烹饪披萨

关于披萨所须要的材料咱们都已配齐,接下来咱们试试来自制披萨,好很差吃没关系,重要的是享受制做的过程。

第一步:咱们须要知道制做披萨的配方,这个配方比如Dockerfile,里面包含如何制做出披萨的说明。

第二步:披萨有几层,好比包含面包层、奶酪层、酱汁层等等,由于配方说明咱们知道要作什么,这是不可更改的计划,这就比如咱们从底层首先构建出基本的镜像如ubuntu,而后添加奶酪层等,这一层至关于咱们安装外部库,好比python,最后再刷上一层泰国甜辣酱,简直是人间美味,这就至关于咱们已编写好的应用程序代码,最终就有了披萨的原型,也就造成了Docker Image(镜像),

第三步:咱们作好了披萨,这个时候咱们须要将其放入烤箱中,烤箱就比如Docker平台,当咱们将买回来的烤箱放在家里,这个时候就比如将Docker安装在计算机上同样,当咱们扭动烤箱按钮的那一刻,咱们就开始烹饪披萨,这就像咱们开始建立并启动容器啦。

第四步:等待一小会,当披萨熟了,熟透了的披萨就比如Docker容器。

第五步:最终大功告成,咱们开始吃披萨,吃披萨就比如咱们在容器中使用应用程序同样。

烹饪总结

本节咱们经过烹饪披萨讲述了Docker平台上基本概念,以及各个基本概念之间的关系,它们是如何关联起来的,但愿经过本文的讲解,对于阅读本文的童鞋能对概念有更深刻的理解,应该不会经过个人讲解,越讲越懵逼吧,哈哈。有了对基本概念的理解,后续陆续引入例子就一目了然啦,感谢阅读,咱们下节再会。 

原文出处:https://www.cnblogs.com/CreateMyself/p/11317826.html

相关文章
相关标签/搜索