rename the first chapter
parent
afa47edf45
commit
e0405a38d6
|
@ -1,7 +1,7 @@
|
||||||
Docker -- 从入门到实践
|
Docker —— 从入门到实践
|
||||||
===============
|
===============
|
||||||
|
|
||||||
v0.11
|
v0.1.2
|
||||||
|
|
||||||
[Docker] (docker.com)是个伟大的项目!
|
[Docker] (docker.com)是个伟大的项目!
|
||||||
|
|
||||||
|
@ -17,3 +17,5 @@ v0.11
|
||||||
.com/yeasy/docker_practice)
|
.com/yeasy/docker_practice)
|
||||||
|
|
||||||
欢迎大家提交pull request。
|
欢迎大家提交pull request。
|
||||||
|
|
||||||
|
本书发布时,docker的最新版本为1.20。
|
||||||
|
|
10
SUMMARY.md
10
SUMMARY.md
|
@ -1,11 +1,11 @@
|
||||||
# Summary
|
# Summary
|
||||||
|
|
||||||
* [Introduction](README.md)
|
* [Introduction](README.md)
|
||||||
* [为什么要使用docker](why_use_docker/README.md)
|
* [为什么要使用docker](introduction/README.md)
|
||||||
* [快速交付应用程序](why_use_docker/fast_deployment.md)
|
* [快速交付应用程序](introduction/fast_deployment.md)
|
||||||
* [更容易部署和扩展](why_use_docker/easy_deployment.md)
|
* [更容易部署和扩展](introduction/easy_deployment.md)
|
||||||
* [效率更高](why_use_docker/high_efficiency.md)
|
* [效率更高](introduction/high_efficiency.md)
|
||||||
* [快速部署也意味着更简单的管理](why_use_docker/easy_management.md)
|
* [快速部署也意味着更简单的管理](introduction/easy_management.md)
|
||||||
* [Docker的体系结构](arch/README.md)
|
* [Docker的体系结构](arch/README.md)
|
||||||
* [内部组件](arch/internal.md)
|
* [内部组件](arch/internal.md)
|
||||||
* [image的工作原理](arch/image.md)
|
* [image的工作原理](arch/image.md)
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
#为什么使用Docker
|
#简介
|
||||||
为什么要使用docker?
|
|
||||||
作为一种新兴的虚拟化方式,docker跟传统的虚拟化方式相比具有众多的优势。
|
##什么是docker
|
||||||
|
docker是dotCloud公司的一个开源项目,诞生于2013年初。它基于Google公司推出的Go语言实现。
|
||||||
|
项目后来加入了Linux基金会,并在github上维护项目代码,开始受到广泛的关注。
|
||||||
|
|
||||||
|
docker项目的目标是实现轻量级的操作系统虚拟化解决方案。
|
||||||
|
|
||||||
docker的基础是Linux Container (LXC)。
|
docker的基础是Linux Container (LXC)。
|
||||||
首先,我们来看Linux Container的发展过程。
|
首先,我们来看Linux Container的发展过程。
|
||||||
我们知道,传统的虚拟机通过在宿主主机中运行hypervisor来模拟一整套完整的硬件环境提供给虚拟机系统。虚拟机系统看到的环境是可限制的,也是彼此隔离的。
|
我们知道,传统的虚拟机通过在宿主主机中运行hypervisor来模拟一整套完整的硬件环境提供给虚拟机的操作系统。虚拟机系统看到的环境是可限制的,也是彼此隔离的。
|
||||||
这种直接的做法实现了对资源最完整的封装,但很多时候往往意味着系统资源的浪费。
|
这种直接的做法实现了对资源最完整的封装,但很多时候往往意味着系统资源的浪费。
|
||||||
例如,以宿主机和虚拟机系统都为Linux系统为例,虚拟机中运行的应用其实可以利用宿主机系统中的运行环境。
|
例如,以宿主机和虚拟机系统都为Linux系统为例,虚拟机中运行的应用其实可以利用宿主机系统中的运行环境。
|
||||||
|
|
||||||
|
@ -13,10 +17,16 @@ docker的基础是Linux Container (LXC)。
|
||||||
前者相对容易实现一些,后者则需要宿主机系统的深入支持。
|
前者相对容易实现一些,后者则需要宿主机系统的深入支持。
|
||||||
随着Linux系统对于名字空间功能的完善实现,程序员已经可以实现上面的所有需求,让某些进程在彼此隔离的名字空间中运行。大家虽然都共用一个内核和某些运行时环境(例如一些系统命令和系统库),但是彼此却看不到,都以为系统中只有自己的存在。这种机制就是Container(容器)。
|
随着Linux系统对于名字空间功能的完善实现,程序员已经可以实现上面的所有需求,让某些进程在彼此隔离的名字空间中运行。大家虽然都共用一个内核和某些运行时环境(例如一些系统命令和系统库),但是彼此却看不到,都以为系统中只有自己的存在。这种机制就是Container(容器)。
|
||||||
|
|
||||||
而docker,正是在容器的基础上进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。
|
|
||||||
|
|
||||||
下面的图片比较了docker之所以能胜出传统虚拟化方式的原因。
|
而docker,正是在容器的基础上进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作docker的容器就像操作一个快速轻量级的虚拟机一样简单。
|
||||||
|
|
||||||
|
下面的图片比较了docker和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,而传统方式则是在硬件层面实现。
|
||||||
|
|
||||||
![传统虚拟化](../images/virtualization.png)
|
![传统虚拟化](../images/virtualization.png)
|
||||||
|
|
||||||
![Docker](../images/docker.png)
|
![Docker](../images/docker.png)
|
||||||
|
|
||||||
|
|
||||||
|
##为什么要使用docker?
|
||||||
|
作为一种新兴的虚拟化方式,docker跟传统的虚拟化方式相比具有众多的优势。
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue