docker_practice/introduction/README.md

30 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#简介
##什么是Docker
Docker是一个开源项目诞生于2013年初最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。
项目后来加入了Linux基金会遵从了Apache 2.0协议,项目代码在[GitHub](https://github.com/docker/docker)上进行维护。
Docker自开源后受到广泛的关注和讨论以至于dotCloud公司后来都改名为Docker Inc。Redhat已经在其RHEL6.5中集中支持DockerGoogle也在其PaaS产品中广泛应用。
Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。
Docker的基础是Linux的容器LXC等技术。
在容器的基础上Docker进行了进一步的封装让用户不需要去关心容器的管理使得操作更为简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。
下面的图片比较了Docker和传统虚拟化方式的不同之处可见容器是在操作系统层面上实现虚拟化直接复用本地主机的操作系统而传统方式则是在硬件层面实现。
![传统虚拟化](../_images/virtualization.png)
![Docker](../_images/docker.png)
##为什么要使用Docker
作为一种新兴的虚拟化方式Docker跟传统的虚拟化方式相比具有众多的优势。
首先Docker容器的启动可以在秒级实现这相比传统的虚拟机方式要快得多。
其次Docker对系统资源的利用率很高一台主机上可以同时运行数千个Docker容器。
而且容器除了运行其中应用外基本不消耗额外的系统资源使得应用的性能很高同时系统的开销尽量小。传统虚拟机方式运行10个不同的应用就要起10个虚拟机而Docker只需要启动10个隔离的应用即可。