docker第一篇

来源:互联网 发布:雅思8.5 知乎 编辑:程序博客网 时间:2024/06/01 08:18

现在很多公司都在使用docker了,记得大约在15刚开始接触的时候。docker仅仅在概念上很火,而目前很多公司已经开始应用到生产环境了。可见普及速度之快,那么作为第一篇文章。就要来说明docker是什么,docker有什么优势。

what is Docker?

我们先看下官方给出的解释。

Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux, Windows Server, and Linux-on-mainframe apps.

    总结下呢,官方对docker的解释,就是首先Docker是世界领先的。。。然后解决了,我们常常听到开发人员说的一句"在我的电脑上运行没问题呀"的问题。。。。然后又解决了多个应用在同一台宿主机上并行运行和资源分配的问题。。。。然后就是各种跨平台,敏捷开发支持,更安全(脸红。。。)。官网的Docker是万能的Docker,哈哈哈。     此处说下自己的理解,首先我把docker定位于一个实现自我idea的工具。当然现在docker在持续化部署,测试,弹性扩容等一些方面应用的 更广泛一些。但是本质上来讲,docker可以做的事情不止于此。在每家互联网公司,docker都有容身之地并且我确信它可以改进和优化现在的流程和问题。docker很大程度上作为一个可自定义的黑盒子,你可以用它作为服务,也可以作为应用部署,甚至你可以在docker内部再去创建docker。并且,各个黑盒子可以通过自己定义的方式进行组合安装形成一套自动化的流程。

看下docker的基础架构图
这里写图片描述

    这里看到,Docker是基于宿主机的OS层上做的虚拟化。这个特性也决定了Docker秒级启动的可能,而VM的启动都要启动自己虚拟化的操作系统。另一方面,这个特性造成的缺点就是Docker的隔离不如VM彻底。也就是原来一直被诟病的Docker的安全问题,控制docker容器的情况下有可能直接对宿主机进行攻击。

Docker有什么优势

上边介绍了一些docker与VM对比,再贴个VM的架构图
这里写图片描述

     对比上图,我么可以看到Docker基于docker daemon即它的守护进行。而VM基于Hypervisor,Hypervisor提供了可以让多个操作系统共享一套底层硬件基础设施。这样Docker相比与VM,不仅启动更快而且更轻。所以除了常见的SAAS,PAAS,IAAS,还有一种CAAS模式(Contains as a Service)容器即服务。    并且在分布式部署上,docker有自己的swarm支持,k8s,mesos等多种方式。在和其他工具集成上,jenkins + docker自动化部署,zookeeper + docker服务发现等方式。并且针对定制性高的方式,docker daemon提供Resful API实现自定义的组合集成。    就在今年8月,Docker这家公司又获得7500万美元融资,估值13亿美元,成功晋升独角兽。无论是资本还是在实际应用都是一片光明呀。不过,周围的还会有些人觉得docker相比与VM或者直接使用宿主机没什么优势。其实一种新技术的出现都有其历史原因,作为一个技术人员还是要敢于拥抱变化。我想说的是,docker相比与VM或者于宿主机的直接使用自然有其不足的地方,但是相比于这些。令人激动的是,Docker带给了更多的可能!
原创粉丝点击