diff --git a/SUMMARY.md b/SUMMARY.md index 4620a65..ef92b95 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -2,10 +2,8 @@ * [前言](README.md) * [Docker简介](introduction/README.md) - * [快速交付应用程序](introduction/fast_deployment.md) - * [更容易部署和扩展](introduction/easy_deployment.md) - * [效率更高](introduction/high_efficiency.md) - * [更简单的管理](introduction/easy_management.md) + * [什么是Docker](introduction/what.md) + * [为什么要用Docker](introduction/why.md) * [基本概念](basic_concept/README.md) * [镜像](basic_concept/internal.md) * [容器](basic_concept/container.md) diff --git a/introduction/README.md b/introduction/README.md index 273bc7a..4b14448 100644 --- a/introduction/README.md +++ b/introduction/README.md @@ -1,29 +1,8 @@ -#简介 +# 简介 +本章将带领你进入Docker的世界。 -##什么是Docker -Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。 -项目后来加入了Linux基金会,遵从了Apache 2.0协议,项目代码在[GitHub](https://github.com/docker/docker)上进行维护。 - -Docker自开源后受到广泛的关注和讨论,以至于dotCloud公司后来都改名为Docker Inc。Redhat已经在其RHEL6.5中集中支持Docker;Google也在其PaaS产品中广泛应用。 - -Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。 -Docker的基础是Linux的容器(LXC)等技术。 - -在容器的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。 - -下面的图片比较了Docker和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。 - -![传统虚拟化](../_images/virtualization.png) - -![Docker](../_images/docker.png) - - -##为什么要使用Docker? -作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多的优势。 - -首先,Docker容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。 -其次,Docker对系统资源的利用率很高,一台主机上可以同时运行数千个Docker容器。 - -而且容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行10个不同的应用就要起10个虚拟机,而Docker只需要启动10个隔离的应用即可。 +什么是Docker? +用它会带来什么样的好处? +好吧,让我们带着问题开始这神奇之旅。 diff --git a/introduction/easy_deployment.md b/introduction/easy_deployment.md deleted file mode 100644 index 30faf02..0000000 --- a/introduction/easy_deployment.md +++ /dev/null @@ -1,4 +0,0 @@ -##更容易的部署和扩展 -对运维人员来说,最希望的就是一次配置,可以在任意环境运行。 -* Docker容器可以在几乎所有的环境中运行,物理机、虚拟机、公有云、私有云、个人电脑、服务器等等。 -* Docker容器兼容很多平台,这样就可以很容易地把一个应用程序从一个平台迁移到另外一个。 diff --git a/introduction/easy_management.md b/introduction/easy_management.md deleted file mode 100644 index 62b3e4f..0000000 --- a/introduction/easy_management.md +++ /dev/null @@ -1,2 +0,0 @@ -##快速部署也意味着更简单的管理 -* 通常只需要小小的改变就可以替代以往巨型和大量的更新工作。所有的修改以增量的方式被分发和更新,可以实现自动化并且高效的管理。 diff --git a/introduction/fast_deployment.md b/introduction/fast_deployment.md deleted file mode 100644 index 0f73e38..0000000 --- a/introduction/fast_deployment.md +++ /dev/null @@ -1,6 +0,0 @@ -##Docker可以实现快速的应用交付 -对开发人员来说,最希望的就是一次创建,可以在任意地方执行。 -对运维人员来说,最希望的就是一次配置,可以在任意环境运行。 -* 开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 -* Docker可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 -* Docker容器很轻!很快!容器的启动时间是次秒级的,大量地节约开发、测试、部署的时间。 diff --git a/introduction/high_efficiency.md b/introduction/high_efficiency.md deleted file mode 100644 index 7aa524d..0000000 --- a/introduction/high_efficiency.md +++ /dev/null @@ -1,2 +0,0 @@ -##虚拟化的层次决定了效率 -Docker容器的运行不需要额外的hypervisor支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。 diff --git a/introduction/what.md b/introduction/what.md new file mode 100644 index 0000000..72592ee --- /dev/null +++ b/introduction/what.md @@ -0,0 +1,16 @@ +## 什么是Docker +Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。 +项目后来加入了Linux基金会,遵从了Apache 2.0协议,项目代码在[GitHub](https://github.com/docker/docker)上进行维护。 + +Docker自开源后受到广泛的关注和讨论,以至于dotCloud公司后来都改名为Docker Inc。Redhat已经在其RHEL6.5中集中支持Docker;Google也在其PaaS产品中广泛应用。 + +Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。 +Docker的基础是Linux的容器(LXC)等技术。 + +在容器的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。 + +下面的图片比较了Docker和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。 + +![传统虚拟化](../_images/virtualization.png) + +![Docker](../_images/docker.png) diff --git a/introduction/why.md b/introduction/why.md new file mode 100644 index 0000000..d42e012 --- /dev/null +++ b/introduction/why.md @@ -0,0 +1,27 @@ +## 为什么要使用Docker? +作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多的优势。 + +首先,Docker容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。 +其次,Docker对系统资源的利用率很高,一台主机上可以同时运行数千个Docker容器。 + +容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行10个不同的应用就要起10个虚拟机,而Docker只需要启动10个隔离的应用即可。 + +具体说来,Docker在如下几个方面具有较大的优势。 + +### 更快速的交付和部署 +对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。 + +开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 +Docker可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 +Docker容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。 + +### 更高效的虚拟化 +Docker容器的运行不需要额外的hypervisor支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。 + +### 更轻松的迁移和扩展 + +Docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 +这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。 + +### 更简单的管理 +使用Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。