Add docker command page

This commit is contained in:
Baohua Yang
2014-09-12 10:51:47 +08:00
parent f5ab41b2fa
commit afa47edf45
6 changed files with 177 additions and 0 deletions

22
introduction/README.md Normal file
View File

@@ -0,0 +1,22 @@
#为什么使用Docker
为什么要使用docker
作为一种新兴的虚拟化方式docker跟传统的虚拟化方式相比具有众多的优势。
docker的基础是Linux Container LXC
首先我们来看Linux Container的发展过程。
我们知道传统的虚拟机通过在宿主主机中运行hypervisor来模拟一整套完整的硬件环境提供给虚拟机系统。虚拟机系统看到的环境是可限制的也是彼此隔离的。
这种直接的做法实现了对资源最完整的封装,但很多时候往往意味着系统资源的浪费。
例如以宿主机和虚拟机系统都为Linux系统为例虚拟机中运行的应用其实可以利用宿主机系统中的运行环境。
我们知道在操作系统中包括内核、文件系统、网络、PID、UID、IPC、内存、硬盘、CPU等等所有的资源都是应用进程直接共享的。
要想实现虚拟化除了要实现对内存、CPU、网络IO、硬盘IO、存储空间等的限制外还要实现文件系统、网络、PID、UID、IPC等等的相互隔离。
前者相对容易实现一些,后者则需要宿主机系统的深入支持。
随着Linux系统对于名字空间功能的完善实现程序员已经可以实现上面的所有需求让某些进程在彼此隔离的名字空间中运行。大家虽然都共用一个内核和某些运行时环境例如一些系统命令和系统库但是彼此却看不到都以为系统中只有自己的存在。这种机制就是Container容器
而docker正是在容器的基础上进行了进一步的封装让用户不需要去关心容器的管理使得操作更为简便。
下面的图片比较了docker之所以能胜出传统虚拟化方式的原因。
![传统虚拟化](../images/virtualization.png)
![Docker](../images/docker.png)

View File

@@ -0,0 +1,4 @@
##更容易的部署和扩展
对运维人员来说,最希望的就是一次配置,可以在任意环境运行。
* docker容器可以在几乎所有的环境中运行物理机、虚拟机、公有云、私有云、个人电脑、服务器等等。
* docker容器兼容很多平台这样就可以很容易地把一个应用程序从一个平台迁移到另外一个。

View File

@@ -0,0 +1 @@
* 通常只需要小小的改变就可以替代以往巨型和大量的更新工作。所有的修改以增量的方式被分发和更新,可以实现自动化并且高效的管理。

View File

@@ -0,0 +1,6 @@
##docker可以实现快速的应用交付
对开发人员来说,最希望的就是一次创建,可以在任意地方运行。
对运维人员来说,最希望的就是一次配置,可以在任意环境运行。
* 开发者可以使用一个标准的image来构建一套开发容器开发完成之后运维人员可以直接使用这个容器来部署代码。
* docker可以快速创建容器快速迭代应用程序并让整个过程全程可见使团队中的其他成员更容易理解应用程序是如何创建和工作的。
* docker容器很轻很快容器的启动时间是次秒级的大量地节约开发、测试、部署的时间。

View File

@@ -0,0 +1 @@
docker容器的运行不需要额外的hypervisor支持它是内核级的虚拟化因此可以实现更高的性能和效率。