访谈 | Docker公司首席布道师谈容器和下一代虚拟化

本文讲的是访谈 | Docker公司首席布道师谈容器和下一代虚拟化,【编者的话】本文为LinuxCon讲师采访的一部分,Docker公司的Jerome分享了Docker与其它容器技术的区别、Docker容器的存储和数据迁移、Docker在企业中的应用等话题。

Jerome是Docker公司的首席布道师,也是老员工。对社区运营和容器非常了解。本文根据对他的采访整理而成。

在这次的访谈中,Jerome深入分析了Docker并解释了如何管理Docker容器的存储,以及如何随着Docker容器迁移数据。

什么是容器?有哪些现有的容器技术?Docker与其它容器技术的不同是什么?

从宏观角度来看,容器更像是轻量化的虚拟机。你可以在容器中安装任何你想要的软件,容器相对独立且不会影响其它容器或者宿主环境。每一个容器有它自己的网络堆栈、进程空间、文件系统等。同时,他们的成本要远小于虚拟机:容器启动更快、占用更少的内存和硬盘空间。从底层角度来看,这都是因为容器只是宿主机上的一个进程,利用内核特征如命名空间和组管理来提供这种隔离。启动一个容器只是启动了一个普通的UNIX进程;创建一个容器只是复制了一个copy-on-wirte文件系统的镜像。

Docker与其它容器技术不同,因为它不只是一个容器引擎。Docker是一个平台,整合了Docker引擎、Docker Hub以及一系列的生态工具,如Docker Compose、Docker Machine、Docker Swarm等。这些都采用开发API。

Docker与其它Hypervisor虚拟技术的不同之处?

有人说Docker是一个“容器的hypervisor”,但是许多人并不这么认为,这是因为hypervisor通常是管理虚拟机,而Docker是管理容器。在底层技术细节也是不同的。当hypervisor启动虚拟机时,它会创建虚拟硬件,并利用特定CPU基础结构和特性,如VT-x、AMD-x或者权限层级。当Docker创建一个容器,它利用的是内核的特性,如命名空间、群组管理,而不依赖硬件特性。

这意味着容器在某种意义上说更具有可移植性,因为它们可以同时在物理机或者虚拟机上运行;但是他们从另外某种意义上来说,也更不容易移植,因为容器必须使用宿主的内核。这意味着,你不能运行一个Windows容器在Linux内核上(除非Linux内核可以执行Windows二进制程序)。

对管理Docker容器的存储有什么建议?如何将Docker容器和数据关联?

Docker有个“卷”的概念,使得宿主机和容器间可以共享目录。卷从概念上与虚拟机的“共享文件夹”有点类似,只是他们不需要在容器上做任何配置,并且它们是零开销的,因为他们采用的是绑定挂载实现。

当你的数据在硬盘(可以是一个具体的硬盘、RAID、其他挂载网络上的设备或者其他的任何设备)上,挂载到容器主机上的最简便的方法就是通过“卷”机制来暴露给容器。

Docker同样有插件机制,支持容器为其它容器提供存储。这意味着我们可以在容器中搭建Ceph、Gluster或者其它存储集群,然后将块设备和挂载点暴露给其它容器。

当Docker容器在别的机器上启动时,如何使得数据随着容器移动?

就像在容器技术之前我们做的一样:网络存储、分布式文件系统、数据传输或者同步(利用rsync、unison等)。当使用容器时,有两个优势。首先,容器不会影响用户存取数据的方式。例如,如果从DRBD迁移到Ceph,容器并不需要知道这个细节;事实上,同一个容器在本地存储或者分布式存储上运行是一样的。另一个优势来自于那些新的存储插件。如果我们可以将应用容器和存储容器分开,那这些插件可以让用户获取数据更容易。

如何确保对正在运行的容器的修改,其可以被更新回基础的容器镜像?

Docker提供了相关的API来对比容器和它的基础镜像,同时也可以根据现有的容器来创建新的镜像。API对应的命令是docker diffdocker commit

Docker容器如何帮助构建高可用的解决方案?

构建一个高可用的系统需要做很多的事情,Docker让这一切变得无比简单。例如,确保部署时相关机器上软件版本的一致性。Docker不会自动的解决问题,但是它可以让事情变得更加简单、快捷和可信,就像一个包管理器通常比从源代码编译更可靠。

如何看待在企业客户生产环境中Docker适配性的变化?

通常来看,Docker一开始只是做为一个开发工具来保证用户有一个一致、可复制的开发环境,类似Hashicorp的Vagrant。紧接着会被用到CI/CD中,来减少测试次数。总之,整体来看它目前可适用于生产环境的前一个阶段,但是当用户已经积累了足够的经验和自信来运行Docker时,它就可以服务生产环境了。

原文链接:Docker containers and the next generation of virtualization (翻译:陈杰)

===============================================
译者介绍
陈杰,北京理工大学计算机学院在读博士,研究方向是自然语言处理在企业网络信誉评价方面的应用,平时也乐于去实现一些突发的想法。在疲于配置系统环境时发现了Docker,跟大家一起学习、使用和研究Docker。

原文发布时间为:2015-08-16 

本文作者:Sonyfe25cp 

本文来自合作伙伴DockerOne,了解相关信息可以关注DockerOne。

原文标题:访谈 | Docker公司首席布道师谈容器和下一代虚拟化

时间: 2024-11-03 19:31:45

访谈 | Docker公司首席布道师谈容器和下一代虚拟化的相关文章

应对海量并发请求,首席布道师谈微服务的应用架构设计

 何李石七牛云首席布道师   <Go语言程序设计>译者,Go语言/容器虚拟化技术布道师.实践者. 5年以上互联网创业经验和企业级产品研发.运营经验,同时也是互联网产品基础架构解决方案专家.   随着互联网网民数的爆发式增加以及人们对随时随地接入互联网诉求的加强,互联网产品需要面对的并发请求量越来越大,云计算的诞生和普及为海量并发请求的应用提供了弹性的硬件支撑. 本案例分享基于微服务的应用架构设计,内容涉及如何构建一个微服务应用,服务注册与发现,微服务测试和典型的微服务架构设计模式,以及微服务架

人人网任命开放平台首席布道师

[TechWeb消息]8月8日消息,人人网任命前微软中国开发布道师王立楠为人人网开放平台首席布道师.这是人人网上市以来首次进行企业管理层面排将布阵.此前,王立楠担任过7年微软布道师.业内人士 认为,任命王立楠为人人网开放平台首席布道师,是人人网 发力开放平台的信号.王立楠表示:"我们是中国互联网企业中第一个将自己定位于'布道'职能的部门.对于大部分公司来讲,开放平台还停留在发展合作功能的部门上.在全球的IT企业中,真正有'布道'部门的只有两三家,微软.苹果.Adobe.这些公司不仅有 先进的产品

TalkingData首席布道师鲍忠铁:我眼中的大数据产业2016年终总结

大数据产业发展了两年后,从探索阶段进入了应用阶段.数据被定义成重要的资源,正在得到企业的重视,在经营过程中发挥着重要的作用.企业看到了数据价值,从被动了解走向主动拥抱.数据如何同业务场景结合,如何变成生产力,如何指导业务决策成为企业最关心的问题. 数据本身是没有价值的,必须同商业需求结合在一起,才能够产生化学反映,体现商业价值.大多数企业还是将精力放在数据架构.技术平台.数据采集等探索工作,没有理顺数据价值应用的发展路径,也没有从数据中看到真正的商业价值,看到智慧的力量. 大数据时代,企业面临海

Docker公司正式在华推出镜像加速服务

Docker公司今日宣布正式向中国市场推出镜像加速服务,方便中国用户在国内网络下载最受欢迎的Docker镜像.此前,尽管Docker尚未推出本地服务,中国仍然占据Docker全球流量前三位.现在,中国用户将可以更快捷地下载Docker镜像库中数千个热门镜像,并以这些镜像作为核心,快速封装新的分布式应用.Docker公司将中国地区的镜像库托管和运行在阿里云上,使本地用户可以享受更快捷.更稳定的容器镜像下载,开发并交付基于容器的应用.     Docker公司首席市场官David Messina表示

首席架构师警告“公共云不能修复愚蠢”

企业使用适当的策略为其业务带来利益时,公共云是一个很好的事情.虽然对某些工作负载而言,可以降低成本,但是对于其他工作负载来说,它可能更昂贵,因为没有周密的战略方法,它可能会破坏价值而不是创造价值.换句话说,"公共云不能修复愚蠢的决策".这是美国明尼苏达州云计算服务提供商Datalink公司首席架构师Jason Anderson得出的结论,其提供的报告基于Datalink公司委托的美国IT主管IT最新调查结果. Anderson在最近的采访中讨论了这次调查报告,Datalink公司从中收

灵雀云首席架构师:Docker容器的监控技术

前言     在Docker容器技术飞速发展之时,监控容器的效率与健康也变成了至关重要的需求.在Docker资深提供的监控技术逐渐成熟时,来自第三方的监控工具也同时步入了人们的视线.   本文将为大家介绍Docker容器的监控技术,并讨论时下在容器生态圈最受欢迎的监控工具.同时,来自美国的Saurabh也将分享容器技术在国外的应用趋势以及他个人的技术洞察.      大家好,我是Saurabh Wagh,目前在灵雀云负责容器服务相关的产品技术架构.我本人base在美国西雅图,恰好近期在北京参观几

从Docker的转变,谈容器生态与微服务的发展

更多深度文章,请关注:https://yq.aliyun.com/cloud 编者按:容器技术目前已经成为技术圈内的"常识",但是容器生态能否健康发展仍然任重道远.在收获最初的赞扬之后,领军者Docker如今身陷非议:今年执意壮大发展Swarm进军编排领域,似乎Docker公司一方面惹毛了很多强劲的编排领域玩家,另一方面也并没有收获预料之中的成果.12月14日,Docker计划将其关键容器运行模块之一Containerd贡献给开源社区.在周晖先生看来,这意味着Docker的重心将回归到

Joyent公司CTO谈容器安全:安全性是容器部署面临的首要问题

本文讲的是Joyent公司CTO谈容器安全:安全性是容器部署面临的首要问题[编者的话]随着容器技术的发展,越来越多的IT企业开始关注容器技术.面对视安全如生命的企业级项目,如何才能帮助他们快速扫清拥抱容器技术的障碍?致力于容器云服务的Joyent公司CTO Bryan Cantrill在第97期The New Stack Analysts中探讨了Joyent对容器安全问题的一些看法.本文根据这次访谈整理而成. 现在开发者开始拥抱容器技术,很多人使用例如Docker.Kubernetes Pods

Docker公司宣布将重点关注容器安全

[编者的话]本文是对11.16欧洲DockerCon大会的简短报道.重点在Docker容器安全领域的新特性,对于在生产环境中更安全使用Docker有很大的参考价值. Docker 公司在巴塞罗那举办的 DockerCon Europe 大会上宣布三款安全工具以及容器的一些新特性. 这些工具在不影响开发者正常工作流的情况下,使开发者使用容器更加安全.它们包括:使用Yubico硬件密钥.支持用户名称空间,这样Docker容器就不再需要root权限连接了.这两个新特性可以在Docker实验版本频道获取