Docker 是 Linux 下的“轻量化虚拟”,是一种虚拟化容器。对于容器中的程序来讲,它看起来就像是一个完全的虚拟机或者完全的硬件系统同样,拥有本身的文件系统、网络系统,本身的操做系统和配置,与实际硬件上跑的其余的容器中的进程互不可见,只能经过网络进行通讯。但它与传统的 kvm 等硬件虚拟技术很不一样:web
- Docker 很是轻量化。它给其中的进程增长的开销很是小。一个实际硬件服务器上能够同时运行数以千计的 Docker 容器而毫无压力。
- Docker 容器间互不可见,能够单独选择 Linux 版本和发行版,这让开发者能够开发出本身的 Docker 镜像,它能够随处运行,对外界系统的依赖能够减到最低。例如,一个 web bbs 程序,如今能够把本身所依赖的数据库服务、web 服务器等服务放在一个镜像中,这个镜像能够在任何 Docker 容器中运行,从而让开发模板化达到新的层次。
- Docker 进程没有作彻底的内存、资源分配,这让 Docker 容器之间的隔离性不强,必定程度上它们是互相协做的。在安全性上这不如传统虚拟机。
- Docker 提供了很是容易使用的工具来建造和管理镜像,让镜像制造过程很是容易嵌入到开发人员的工做流程中。
Docker.com 提供了很是细致的入门指引,文档也很是漂亮。docker