【虚拟化与云计算】基本概念与架构
泊坞窗基本概念与架构什么是容器?一种虚拟化的方案操作系统级别的虚拟化只能运行相同或相似内核的操作系统依赖于Linux内核特性:Namespace和Cgroups(控制组)Linux容器技术vs虚拟机什么是多克?将应用程序自动部署到容器去语言开源引擎Github地址:https://github.com/docker/docker2013年初dotCloud...
·
泊坞窗基本概念与架构
什么是容器?
- 一种虚拟化的方案
- 操作系统级别的虚拟化
- 只能运行相同或相似内核的操作系统
- 依赖于Linux内核特性:Namespace和Cgroups(控制组)
Linux容器技术vs虚拟机
什么是多克?
- 将应用程序自动部署到容器
- 去语言开源引擎Github地址:https://github.com/docker/docker
- 2013年初dotCloud
- 基于Apache2.0的开源授权协议发行
泊坞窗的目标
- 提供简单轻量的建模方式
- 职责的逻辑分离
- 快速高效的开发生命周期
- 鼓励使用面向服务的架构
泊坞窗的使用场景
- 使用泊坞窗容器开发,测试,部署服务。
- 创建隔离的运行环境
- 搭建测试环境
- 构建多用户的平台即服务(PaaS的)基础设施
- 提供软件即服务(SaaS)的应用程序
- 高性能,超大规模的宿主机部署
码头工人的基本组成
- Docker Client客户端
- Docker Daemon守护进程
- Docker Image镜像
- Docker Container容器
- Docker Registry仓库
泊坞客户端/守护进程
- C / S架构
- 本地/远程
Docker Image镜像
- 容器的基石
- 层叠的只读文件系统
- 联合加载(union mount)
Docker Container容器
- 通过镜像启动
- 启动和执行阶段
- 写时复制(copy on write)
Docker Registry仓库
- 公有
- 私有
- Docker Hub
泊坞窗容器的相关技术简介
泊坞窗依赖的Linux的内核特性
- 命名空间命名空间
- 对照组(cgroups)控制组
命名空间命名空间:
- 编程语言:封装 - >代码隔离
- 操作系统:系统资源的隔离(进程,网络,文件系统......)
命名空间命名空间的五种隔离技术
- PID(进程ID)进程隔离
- NET(网络)管理网络接口
- IPC(InterProcess Communication)管理跨进程通信的访问
- MNT(山)管理挂载点
- UTS(Unix Timesharing System)隔离内核和版本标识
控制组控制组
- 用来分配资源
- 来源于谷歌
- Linux内核2.6.24@2007
控制组控制组可以做什么?
- 资源限制
- 优先级设定
- 资源计量
- 资源控制
泊坞窗容器的能力
- 文件系统隔离:每个容器都有自己的根文件系统
- 进程隔离:每个容器都运行在自己的进程环境中
- 网络隔离:容器间的虚拟网络接口和IP地址都是分开的
- 资源隔离和分组:使用的cgroup将CPU和内存之类的资源独立分配给每个泊坞容器
更多推荐
已为社区贡献5条内容
所有评论(0)