Docker是什么?
Docker是Docker Inc的一个开源项目,其目标是实现轻量级的操作系统虚拟化解决方案。Docker引擎的基础是Linux容器(Linux Container LXC)技术。在LXC基础上,Docker进一步优化容器的使用体验,让用户无需关注底层的操作,就可以简单明了地管理和使用容器。用户操作Docker容器就像操作一个轻量级的虚拟机那样简单。
下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。
为什么使用Docker
在开发和运维中的优势:
-
更快速的交付和部署
-
更高效的资源利用
-
更轻松的迁移和部署
-
更简单的更新管理
Docker作为一种虚拟机方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著的优势:
- Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式快的多。
- Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。
- Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。
Docker容器技术与传统的虚拟机技术的特性比较如下:
特性 | 容器 | 虚拟机 |
启动速度 | 妙级 | 分钟级 |
性能 | 接近原生 | 较弱 |
内存代价 | 很小 | 较多 |
硬盘使用 | 一般为MB | 一般为GB |
运行密度 | 单机支持上千个容器 | 一般几十个 |
隔离性 | 安全隔离 | 安全隔离 |
迁移性 | 优秀 | 一般 |
参考《Docker技术入门与实战》