docker 是一个开源的应用容器引擎,基于 go 语言 并遵从apache2.0协议开源。

docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iphone 的 app),更重要的是容器性能开销极低。


谁适合阅读本教程?

本教程适合运维工程师及后端开发人员,通过本教程你可以一步一步了解 docker 的使用。


阅读本教程前,您需要了解的知识

在阅读本教程前,你需要掌握 linux 的常用命令。你可以通过本站的 linux 教程 来学习相关命令。


docker的应用场景

  • web 应用的自动化打包和发布。

  • 自动化测试和持续集成、发布。

  • 在服务型环境中部署和调整数据库或其他的后台应用。

  • 从头编译或者扩展现有的openshift或cloud foundry平台来搭建自己的paas环境。

  • docker 的优点

    • 1、简化程序:
      docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 linux 机器上,便可以实现虚拟化。docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入docker中进行管理。方便快捷已经是 docker的最大优势,过去需要用数天乃至数周的 任务,在docker容器的处理下,只需要数秒就能完成。

    • 2、避免选择恐惧症:
      如果你有选择恐惧症,还是资深患者。docker 帮你 打包你的纠结!比如 docker 镜像;docker 镜像中包含了运行环境和配置,所以 docker 可以简化部署多种应用实例工作。比如 web 应用、后台应用、数据库应用、大数据应用比如 hadoop 集群、消息队列等等都可以打包成一个镜像部署。

    • 3、节省开支:
      一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,docker 改变了高性能必然高价格的思维定势。docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。


    相关链接

    docker 官网:http://www.docker.com

    github docker 源码:https://github.com/docker/docker