介绍:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
Docker优点:
Ø快:运行时的性能可以极大的提升,启停操作按毫秒计算
Ø敏捷:像虚拟机一样敏捷,而且更便宜
Ø灵活:将应用和系统”容器化”,不添加额外的操作系统
Ø轻量:在一个服务器上可以部署100-1000个容器
Ø便宜:开源,免费,低成本
Ø生态系统:Docker越来越受到欢迎,不计其数的社区和第三方应用
Docker特性:
Ø文件系统隔离:每个进程容器运行在完全独立的根文件系统里。
Ø
资源隔离:可以使用
cgroup
为每个进程容器分配不同的系统资源,例如
CPU
和内存。
Ø
网络隔离:每个进程容器运行在自己的网络命名空间里,拥有自己的虚拟接口和
IP
地址。
Ø
写时复制:采用写时复制方式创建根文件系统,这让部署变得极其快捷,并且节省内存和硬盘空间。
Ø
日志记录:
Docker
将会收集和记录每个进程容器的标准流(
stdout
/
stderr
/
stdin
),用于实时检索或批量检索。
Ø
变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。
Ø
交互式
Shell
:
Docker
可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互
shell
。