介绍
- 使用最广泛的开源容器引擎
- 一种操作系统级的虚拟化技术
- 依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)
- 一个简单的应用程序打包工具
设计目标
- 提供简单的程序打包工具
- 开发人员和运维人员逻辑分离
- 多环境保持一致
基本组成
- Docker Client : 客户端
- Docker Daemon :守护进程
- Docker Images :镜像
- Docker Container :容器
- Docker Registry :镜像仓库
CS架构图
容器与虚拟机的区别
Container: VM:
启动速度: 秒级 分钟级
运行性能: 接近原生 5%左右损失
磁盘占用: MB GB
数量: 成百上千 几十台
隔离性 进程 系统
操作系统 主要支持linux 几乎所有
封装程度 只打包项目代码和依赖关系,共享宿主机内核 完整的操作系统
Docker应用场景
- 程序打包和发布
- 程序隔离
- 持续集成
- 部署微服务
- 快速搭建测试环境
- 提供Paas服务(Pass:平台及服务)