docker基本概念和架构
docker 简介
- 什么是容器
- 一种虚拟机化的方案
- 操作系统级别的虚拟化
- 只能运行相同或相似的内核的操作系统
- 依赖于Linux内核特性:Namespace 和 CGroups (Control Group)
- 什么是docker?
- 将应用自动部署到容器的开源引擎
- docker 特点/目标/思想
- 提供简单轻量的建模方式
- 职责的逻辑分离
- 快速高效的开发生命周期
- 鼓励使用面向服务的架构
- docker 应用场景
- 使用docker容器开发、测试、部署服务
- 创建隔离的运行环境
- 搭建测试环境
- 构建多用户的平台服务(Paas)基础设施
- 提供软件即服务(Paas)应用程序
- 高性能、超大规模的宿主机部署
docker 基本组成
- docker client 客户端
- C/S架构
- 本地/远程
- docker daemon 守护进程
- docker image 镜像
- 容器的基石,好比容器的源代码
- 层叠的只读系统
- 联合加载 一次同时加载多个系统
- docker container 容器
- 通过镜像启动
- 启动和执行阶段
- docker registry 仓库
- 共有 Docker Hub
- 私有
docker 容器相关技术
- Namespace 命名空间
- PID (Process ID) 进程隔离
- NET (Network) 网络管理接口
- IPC (InterProcess Communication) 管理夸进程通信访问
- MNT (Mount)管理挂载点
- UTS (Unix Timesharing System) 隔离内核和版本标识
- Control Group (CGroups)控制组
- 资源限制
- 优先级设定
- 资源计量
- 资源控制
- docker 容器的能力
- 文件系统隔离:每个容器都有自己的root文件系统
- 进程隔离:每个容器都运行在自己的进程环境中
- 网络隔离:容器间的虚拟网络接口和IP地址都是分开的
- 资源的隔离和分组