您的位置:首页 > 运维架构 > Docker

一起学docker(1)--简介

2016-09-30 15:26 363 查看
        最近几年docker非常火爆啊,正好公司也有需求,那么,自然就是学习docker的最佳时机,既有欲望,又有需求,对于程序员来说,就像是遇到了“林妹妹”一样,还要老办法,学习任何一种技术,我们都要带着这几个问题:
        docker是啥?
        docker怎么做?
        为什么是docker?

        下面我们就一步步开始解开这几个问题。

docker是啥?

        要了解docker,有个前提就是要起码用过一款虚拟机,docker实际和大家使用的虚拟机是一致的,不是个新概念,而他和普通虚拟机有啥不同呢,先放两张图,自行脑补,图后解答(来自docker官网):



        从图上和我画的红线,大家不难发现,docker其实是对虚拟机的虚拟技术做了整合,整合了系统底层,但是,docker和以前的虚拟机,功能上没有太多的变化,依旧是提供虚拟服务,大家心安,这不是个新东西,起码不是新概念。

docker怎么做?

想要解决这个问题,我们还是要对操作系统有个整体的认识,二话不说,上图:
                                           


        linux系统分为如下几层,提供服务:内核、shell、文件系统和应用程序。
        其中内核,shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序,管理文件并使用系统,而docker就是在系统层上复用内核,shell,抽象为层,这样我们就可以像盖房子一样,进行组装了(底层复用),程序底层无非是各种调用,既然这样,这种做法就非常高效,因为我们节省了机器性能!

为什么是docker?

        说了这么多原理,我们为什么使用docker呢?是什么吸引我们,我个人认为有如下几点:
        1,安装简单,yum apt 就可以,一般应用名是docker.io
        2,运行迅速,docker服务运行一个ubuntu系统,几乎就是毫秒级
        3,资源丰富,现在不论是国内还是国外,docker镜像非常丰富
        4,自定制简单,拿到基础镜像,启动,安装程序,你就拥有了自己的镜像
        5,节省硬件资源,我们可以在普通服务机上虚拟几百个基础镜像,运行速度都几乎没有影响(不考虑网络及其他因素)

总结

        现在,我愈加坚信老师曾经说过的话,没有新知识,是接收知识最快的捷径,人类进步的其中一个原因就是传承,传承是什么,就是把以前的,老的,旧的告诉你,然后你该改良,进步了一点点,每天这样进步一点点,总有一天,积累到某个奇点,发现这个世界又不一样了,学习更是如此!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: