# 第一节 Docker 介绍 Docker是一个新的容器化的技术,它轻巧,且易移植,号称“**build once, configure once and run anywhere**” 本文主要涉及Docker的基础知识:Docker的特征、理念以及如何安装使用Docker。 ### Docker 的哲学 ![](http://i.imgur.com/L9h1zSi.png) ### Docker 的特征 Docker有不少有趣的功能,通过本教程相信你会更好地理解它们。Docker的特性主要包括以下几点: - 速度飞快以及优雅的隔离框架 - 物美价廉 - CPU/内存的低消耗 - 快速开/关机 - 跨云计算基础构架 ### Docker vs VM ![image](http://img.blog.csdn.net/20150614102850412) ## Docker 容器化的本质 ### Docker vs VM 容器 |虚拟机 ---|--- 我秒级启动 | 你没算应用吧,我也秒级 我一台机器上启动1000个nginx | 然并卵 我有镜像,原子升级回滚 | 说的谁好像没有似得 我秒级自修复 | 你确认这一秒没丢啥 我服务发现 | Dubbo和springcloud笑而不语,熔断,降级 我弹性伸缩 | 你听说过autoscaling group么? 100个进程,每天一个镜像| 镜像有点大 ### Docker 给我们带来什么收益 ![Docker 给我们带来什么收益](https://box.kancloud.cn/e67810bde7dc3fdfda2991fe9bb60d24_988x723.png) --- ### 容器的本质? ![image](https://i.imgur.com/7tEGlJK.png) ### Docker 组件与元素 Docker有三个组件和三个基本元素,读者可以快速浏览下面这个视频来了解这些组建和元素,以及它们的关系。 三个组件分别是: - Docker Client 是用户界面,它支持用户与Docker Daemon之间通信。 - Docker Daemon运行于主机上,处理服务请求。 - Docker Index是中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份。 三个基本要素分别是: - Docker Containers负责应用程序的运行,包括操作系统、用户添加的文件以及元数据。 - Docker Images是一个只读模板,用来运行Docker容器。 - DockerFile是文件指令集,用来说明如何自动创建Docker镜像。 ![image](http://dockerone.com/uploads/article/20141229/b28a5a6c1709746deb0aa2530be49af1.png) 在讨论Docker组件和基本要素如何交互之前,让我们来谈谈Docker的支柱。Docker使用以下操作系统的功能来提高容器技术效率: - Namespaces 充当隔离的第一级。确保一个容器中运行一个进程而且不能看到或影响容器外的其它进程。 - Control Groups是LXC的重要组成部分,具有资源核算与限制的关键功能。 - UnionFS(文件系统)作为容器的构建块。为了支持Docker的轻量级以及速度快的特性,它创建了用户层。