Docker基础概念

什么是Docker

doker是一个开源的应用容器引擎,基于GO语言开发,并遵从apache2.0协议开源。
docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低。

Union File System

Docker联合文件系统Union File System,它是实现Docker镜像的技术基础,是一种轻量级的高性能分层文件系统,支持将文件系统中的修改进行提交和层层叠加,这个特性使得镜像可以通过分层实现和继承。同时支持将不同目录挂载到同一个虚拟文件系统下。
当用户通过升级程序到新版本,改变了一个Docker镜像时,一个新的镜像层会被创建。因此,用户不用替换整个原镜像或者完全重新建立新镜像,只需要添加新层即可。在用户分发镜像的时,也只需要分发被改动的新层内容(增量部分)。这让Docker的镜像管理变得十分轻松级和快速。

Docker的应用场景

  • web应用的自动化打包盒发布
  • 自动化测试和持续集、成发布
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PasS环境

Docker的优点

    1. 简化程序:
      Docker让开发者可以打包他们的应用以及以来包到一个可移植的容器中,然后发布到任何流行的Linux机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,是开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是Docker的最大优势,过去需要数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。
    1. 避免选择恐惧症:
      如果你有选择恐惧症,还是资深患者。Docker帮你打包你的纠结!比如Docker镜像;Docker镜像中包含了运行环境和配置,所以Docker可以简化部署多种应用实例工作。比如web应用、后台应用、数据库应用、大数据应用比如Hadoop集群、消息队列等等都可以打包成一个镜像部署。
    1. 节省开支
      一方面,云计算时代到来,是开发者不必为了主球效果而配置高额的硬件,Docker改变了高性能必然高价格的思维定势。Docker云的结合,让云空间得到充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

你可能感兴趣的:(Docker基础概念)