赞
踩
目录
—>延伸出容器技术
虚拟化层的抽象层(用户层)剥离,使用docker engine来替代(来宾操作系统去除),只要通过引擎就可以直接连接到宿主机操作系统中,极大减小了开销
cpu分片后每个任务处理性能会打对折
虚拟机管理器功能:调用资源
两大核心组件:QEMU、KVM
对于workstation而言—>硬件辅助虚拟化,表现形式在处理器里面有一个虚拟化引擎,可以勾取硬件辅助虚拟化,看到虚拟接口/dev/kvm,可以加强辅助调用,在应用程序需要频繁调用的时候,需要开启。比如openstack
全虚拟化:KVM—> 产品vmware—ce
半虚拟化:EXSI—> workststion vsphere
容器基础概念 —> 六大名称空间
名称空间:以不同空间划分不同资源
把容器化技术做成了标准化平台
镜像 —> 封装的一个时刻的服务/应用状态
容器 —> 应用跑起来的状态(正常提供服务的状态 - 运行时)
Docker Engine是具有以下主要组件的客户端-服务器(C/S架构)应用程序:
docker run
docker start
docker rm
存储镜像的地方,默认在公共的 Docker Hub上查找,可以搞个人仓库。
namespace资源隔离——用容器技术封装
mount | 文件系统,挂载点 —> 一个文件系统内,不能重复挂载一个指定目录 |
---|---|
user | 操作进程的用户和用户组 |
pid | 进程编号 |
uts | 主机名和主机域 (同一个环境里不能又叫node1又叫node2) |
ipc | 信号量、消息队列、共享内存(不同的应用调用内存资源的时候应该使用不同的内存空间) |
net(网络资源) | 网络设备、网络协议栈(在同一个网络名称空间中的网络规则)、端口等 |
特性 —> 性能损耗10-20%
docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。
docker服务端是一个服务进程,管理着所有的容器
Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向Docker容器引擎的只读模板。通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码。运行时间,库,环境变量,和配置文件
Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性
Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private、常用)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取
Docker的镜像、容器、日志等内容全部都默认存储在**/var/lib/docker**目录下
特性 | Docker容器(一个进程控制) | 虚拟机虚拟化(完整的操作系统) |
---|---|---|
启动速度 | 秒级 | 分钟级 |
运行性能 | 接近原生(直接在内核中运行)10%-20%左右的损失 | 50%左右损失(全虚拟化类型) |
磁盘占用 | 50-100MB | 3-5G |
数量 | 成百上千,每个进程可控制一个容器 | 几十个 |
隔离性 | 进程级别 | 操作系统(更彻底,安全级别高) |
操作系统 | 主要支持Linux | 几乎所有 |
封装程度 | 只封装目标代码和依赖关系,共享宿主机内核 | 完整的操作系统,与宿主机隔离 |
使用docker有什么意义(实现了3个统一)
实现了一次构建,多次、多处使用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。