Docker的形象理解和入门

最近项目组打算进行技术革新,顺应技术发展趋势,同时也为了丰富提高大家的技术水平,想要使用Docker来替换之前旧有的服务部署方式。虽然之前也了解过Docker,但却没有进行过系统深入的研究,所以打算借这次机会,好好的整理学习一下Docker,不管以后用不用的上,这东西现在确实非常的火,所以还是很有必要学习一下的。

本文不做特别详细的介绍,只是介绍怎么更通俗形象的理解Docker。虽然网上的入门教程很多,但是大部分看完之后依旧是云里雾里的感觉,所以特地写了这片文章帮助想要学习Docker的人快速理解和入门。


Docker 的三大核心?

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

  • 通俗理解:
    我们可以把镜像看成面向对象编程中的,一个容器就是一个类的实例,我们可以根据一个镜像,创建出很多个容器(创建同一个类的多个对象)。
    每一个容器都是独立的,我们可以在容器上面做出更改(对不同对象的同一属性设置不同的值。obj1.name=‘张三’,obj2.name=‘李四’),然后再把这个容器打包成一个新的镜像,从而以后可以根据改动后的镜像创建出新的容器。

2、容器
  • 官方解释:
    容器就是将软件打包成标准化单元,以用于开发、交付和部署。
  • 通俗理解:
    容器可以看成是一个鱼缸,鱼缸中有水草假山(鱼生存的基本环境)。
    镜像是只读的,容器从镜像启动时,会在镜像的最上层创建一个可写层。
3、仓库
  • 官方解释:
    仓库是集中存放镜像文件的场所。

Docker 是什么?

  • Docker本身并不是容器,是一个开源的容器引擎,创建容器的工具
  • Docker这样创建容器的技术和虚拟机一样,也是虚拟化技术
  • Docker相比于虚拟机是一个轻量级的虚拟化技术

Docker和虚拟机对比:

  • 容器之所以轻量,主要因为每一个虚拟机都包含一个完整的操作系统,而容器不包括操作系统。
  • 因为每个虚拟机都带有一个完整的操作系统,占用大量的空间(几GB到几十GB大小),所以相比容器而言(几M大小),虚拟对资源的利用率要远低于容器(一台主机可以同时运行几千个Docker容器)。
  • 容器启动时间很快,几秒钟就能完成。虚拟机一般需要几分钟才能启动完成。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

官方对Docker的介绍

  • Build, Ship and Run 搭建、发送、运行
    形象理解:
    还是用鱼缸养鱼的故事。我现在想养几条金鱼,那我首先要去花鸟鱼虫市场去买个鱼缸,然后再去买几条好看的金鱼,买回家后往鱼缸里倒水,然后用水草,假山装饰一下,再把金鱼倒进去。
    但是,现在问题来了,我想再养几条热带鱼。那肯定不能跟金鱼养在一个鱼缸里了,也许它们会互相攻击,所以你就又得买个新鱼缸,倒上水,放上水草、假山,然后把鱼放进去。
    可能你特别喜欢鱼,又想养点别的品种的鱼,然后一顿操作猛如虎,最后累个够呛… …
    在你还想养别的鱼但又苦于奔走在花鸟鱼虫市场和家里的路途中,忽然一个头发杂乱的乞丐出现在你面前:“小伙子,我看你骨骼奇特,定是一个养鱼奇才,这本《鱼缸复制大法》10块钱卖给你吧”,你回家后一通苦练,终于只要你拍一下鱼缸,它就会一个变两个,而且你都不用倒水,放水草、假山,只需要把鱼放进去就行,这样是不是方便多了。
  • Build once,Run anywhere 一次搭建,到处运行
    不管鱼缸在哪里,只要有一个你准备好用来养鱼的鱼缸作为原样品,你就可以用它来复制产生更多的鱼缸来养不同的鱼。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值