容器技术之Docker

容器技术之Docker

ID:40268871

大小:1.77 MB

页数:39页

时间:2019-07-29

容器技术之Docker_第1页
容器技术之Docker_第2页
容器技术之Docker_第3页
容器技术之Docker_第4页
容器技术之Docker_第5页
资源描述:

《容器技术之Docker》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、容器技术之Docker任梓涵24320151153214提纲容器技术的基本概念容器技术的历史容器技术之Docker什么是容器容器容器就是一个认为只有其本身在运行状态的linux程序,只服从用户指定的命令容器程序有自己的IP地址一个可访问网络的独立设备容器化VS虚拟化虚拟机容器化VS虚拟化容器提纲容器技术的基本概念容器技术的历史容器技术之Docker最早的OS级虚拟化Chroot:改变根目录1982年出现只提供有限的文件系统隔离,无任何其他隔离手段不安全,有手段可以逃离设定的根目录访问hostpivot_root:改变根文件系统2000年,Linux

2、内核版本2.3.41没有chroot的安全问题商用容器技术的出现Virtuozzo2000年由Swsoft(现在的Paralles)开发Linux-VServer2001年应用场景VirtualPrivateServer开源的OpenVZOpenVZ(openvirtuozzo)2005年发布开始推动OpenVZ进Linux内核主线内核主线的容器技术Namespace+CgroupNamespace程序运行环境的隔离基本原理:将内核中的全局变量改为per-namespace变量Cgroup计算资源的QoS:CPU、内存、磁盘IO、网络IONames

3、paceNamespace的类别CgroupTask:一个进程Controlgroup:控制族群,按照某种标准划分的进程组Hierarchy:层级,controlgroup可以形成树形的结构,有父节点,子节点,每个节点都是一个controlgroup,子节点继承父节点的特定属性Subsystem:子系统,就是资源控制器Cgroup子系统子系统介绍blkio设置限制每个块设备的输入输出控制。例如:磁盘,光盘以及usb等等。cpu使用调度程序为cgroup任务提供cpu的访问。cpuacct产生cgroup任务的cpu资源报告。cpuset如果是多核心

4、的cpu,这个子系统会为cgroup任务分配单独的cpu和内存。devices允许或拒绝cgroup任务对设备的访问。freezer暂停和恢复cgroup任务。memory设置每个cgroup的内存限制以及产生内存资源报告。net_cls标记每个网络包以供cgroup方便使用。ns名称空间子系统。perf_event增加了对每group的监测跟踪的能力Linux容器虚拟技术(LXC)LinuxContainer通过虚拟化操作系统的方式来管理代码和应用程序轻量级虚拟化隔离进程和资源不需要提供指令解释机制资源孤立分组由单个操作系统管理的资源划分到孤立的

5、组在孤立的组之间平衡有冲突的资源使用需求Linux容器虚拟技术(LXC)与传统虚拟化技术相比与宿主机使用同一个内核,性能损耗小不需要指令级模拟容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制避免了准虚拟化和系统调用替换中的复杂性轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源(例如文件系统)共享容器技术历史提纲容器技术的基本概念容器技术的历史容器技术之DockerDocker生态系统Docker是dotCloud公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache2.0协议。目前

6、,Docker可以在容器内部快速自动化部署应用,并可以通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率,并且提升诸如IO等方面的性能什么是Docker?web应用的自动化打包和发布;自动化测试和持续集成、发布;在服务型环境中部署和调整数据库或其他的后台应用;从头编译或者扩展现有的OpenShift或CloudFoundry平台来搭建自己的PaaS环境。应用场景总架构图D

7、ockerVSVMDocker的特性在多个机器之间提供便捷的部署策略提供了应用镜像的自动构建机制组件复用共享Docker提供了创建、部署容器的API,并且有大量工具集成了Docker的特性,来为第三方平台(Openstack Nova等)提供更多功能。三个基本组件DockerClient是用户界面,它支持用户与DockerDaemon之间通信。DockerDaemon运行于主机上,处理服务请求。DockerIndex是中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份三个基本元素DockerContainers负责应用程序

8、的运行,包括操作系统、用户添加的文件以及元数据。DockerImages是一个只读模板,用来运行Docker容器。Dock

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。