Docker精华问答 | Docker vs VM

640?wx_fmt=png

在计算机技术日新月异的今天, Docker 在国内发展的如火如荼。特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,那么今天我们继续关于Docker 的精华问答。


640?wx_fmt=gif1

Q:为什么用docker?


A:作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。


Docker 在如下几个方面具有较大的优势:

更快速的交付和部署

Docker在整个开发周期都可以完美的辅助你实现快速交付。Docker允许开发者在装有应用和服务本地容器做开发。可以直接集成到可持续开发流程中。

高效的部署和扩容

Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。

Docker的兼容性和轻量特性可以很轻松的实现负载的动态管理。你可以快速扩容或方便的下线的你的应用和服务,这种速度趋近实时。

更高的资源利用率

Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。

更简单的管理

使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。


640?wx_fmt=gif2

Q:Docker引擎


A:docker引擎是一个c/s结构的应用,主要组件见下图:640?wx_fmt=png

Server是一个常驻进程

REST API 实现了client和server间的交互协议

CLI 实现容器和镜像的管理,为用户提供统一的操作界面


640?wx_fmt=gif3

Q:Docker构架


A:Docker使用C/S架构,Client 通过接口与Server进程通信实现容器的构建,运行和发布。client和server可以运行在同一台集群,也可以通过跨主机实现远程通信。640?wx_fmt=jpeg


640?wx_fmt=gif4

Q:Docker vs VM


A:VM是一个运行在宿主机之上的完整的操作系统,VM运行自身操作系统会占用较多的CPU、内存、硬盘资源。Docker不同于VM,只包含应用程序以及依赖库,基于libcontainer运行在宿主机上,并处于一个隔离的环境中,这使得Docker更加轻量高效,启动容器只需几秒钟之内完成。由于Docker轻量、资源占用少,使得Docker可以轻易的应用到构建标准化的应用中。但Docker目前还不够完善,比如隔离效果不如VM,共享宿主机操作系统的一些基础库等;网络配置功能相对简单,主要以桥接方式为主;查看日志也不够方便灵活。640?wx_fmt=jpeg

Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。

作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多;Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。


640?wx_fmt=gif5

Q:多个 Docker 容器之间共享数据怎么办? 


A:如果是同一个宿主,那么可以绑定同一个数据卷,当然,程序上要处理好并发问题。如果是不同宿主,则可以使用分布式数据卷驱动,让分布在不同宿主的容器都可以访问到的分布式存储的位置。如S3之类。


640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于Docker ,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg

2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!


推荐阅读:

  • 10 种最流行的 Web 挖掘工具 | 程序员硬核评测

  • 《复联4》| 生活需要漫威这块糖

  • 如何向 6 岁的孩子解释编程?这个解释厉害了

  • “踏实工作 7 年,辞职时老板头都不抬”

  • 60倍回报! AI工程师用OpenAI创建了一个比特币自动交易工具! 这里是详细做法 | 技术头条

  • 赌5毛钱,你解不出这道Google面试题


640?wx_fmt=png真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt中创键树形控件QTreeWidget与QStackWidget相绑定

引言 实现点击下拉列表的项对应的跳转到相应的堆栈窗口,且每个堆栈窗口中都有各自的树形控件,更换可执行文件所在目录下的文件data.json后,点击更新按钮,可以更新所有堆栈窗口的树形控件。 效果 示例 下面是实现代码&#xff1…

为什么你的年薪只是别人的月薪?你需要技术专家帮你「充电」

戳蓝字“CSDN云计算”关注我们哦!2019 年 5 月 26 - 27 日,由中国 IT 社区 CSDN 与数字经济人才发展中心联合主办的第一届 CTA核心技术及应用峰会将在杭州国际博览中心召开。近 500 名开发者将齐聚于此,共同交流探讨机器学习和知识图谱的技术…

IDEA快速 实现 SpringMVC 整合xfire 发布 WebService 服务

文章目录一、idea快速搭建web项目二、xfire 服务方搭建1. pom依赖2. web.xml3. 创建一个entity4. 创建一个接口5. 创建接口实现类6. 在WEB-INF创建一个META-INF的目录7. 在META-INF创建一个xfire的目录8. 在xfire创建一个services.xml的目录二、xfire客户端搭建1. 创建xfire客户…

腾讯面试:一条SQL语句执行得很慢的原因有哪些?

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!作者:帅地转自:苦逼的码农说实话,这个问题可以涉及…

分布式精华问答 | 分布式系统面临哪些挑战?​

布式的处理方式越来越受到业界的青睐——计算机系统正在经历一场前所未有的从集中式向分布式架构的变革。今天,我们就来看看关于分布式的精华问答吧!1Q:什么是分布式缓存?A:为了提高性能和响应时间,在应用程…

如何使用「番茄法」高效的写算法题?

戳蓝字“CSDN云计算”关注我们哦! 作者:侯振宇转自:五分钟学算法01 目的 持续做算法题的目的仍然是自身能力提升。可以继续细化成三点:保持思维敏捷。非常重要,状态好才能保持对编程的热情。对基础的数据结构、查找和排序保持熟练…

双因子认证(Two-factor authentication)

一、简介 简言之,双因素身份验证(也称为“两步验证”)是指身份验证涉及两个阶段——通常是除了常规密码)之外的某种一次性密码(OTP:One-Time Password)。网上银行已经使用这种方法很长一段时间了…

从人工智能到云,英特尔开源技术推动软件栈创新

戳蓝字“CSDN云计算”关注我们哦!2019年英特尔开源技术峰会(OSTS) 【CSDN记者现场报道】5月14-16日,英特尔主办一年一度的开源技术峰会(OSTS)。该峰会源自2004年的一次内部会议,从最初只有几十个…

Axis2搭建WebService服务

使用Axis2搭建WebService服务 文章目录一、服务端部署1.1 在web.xml配置文件中添加映射路径:2. 创建目录及文件3. 新建服务接口4. 新建接口实现类5. 发布服务6. 浏览器测试二、客户端部署2.1 Axis2客户端通用工具类封装(企业版本)2.2 单元测试(命名空间默认)&#x…

c++实现引用计数

概述 当有指针指向同一块内存空间时,计数器加1,没增加一个指向该内存空间的指针,计数器加1,同理,当原本指向该内存空间的指针指向另一块内存,计数器减1,被指向的另一个内存的计数器加1。下面是…

焦虑的 BAT、不安的编程语言,揭秘程序员技术圈生存现状!

戳蓝字“CSDN云计算”关注我们哦!【CSDN 编者按】在迭代不休的技术圈中,仅在过去的一个月期间,我们见证了有史以来第一张黑洞照片的诞生;经历了为让人义愤填膺的 996;思考了作为程序员的年龄之槛;膜拜了技术…

5G精华问答 | 除了速度,5G还能带来什么?

从2016年以来,5G热度逐步攀升。作为下一代移动通信网络,如果用一个关键词来形容5G,那就是“快”。5G不仅会极大地改变人们现有的生活和工作方式,提升通信效率,还可以加大很多前沿技术和产品落地的可能性。今天&#xf…

Spring获取JavaBean的xml形式和注解形式

Spring获取JavaBean的xml形式和注解形式 文章目录一、用xml文件方式管理JavaBean1. 创建一个xml配置文件2. 将一个Bean交由spring创建并管理3. 获取Spring上下文,获取bean二、用注解获取Javabean1. 创建一个class配置java文件2. 将一个bean交由Spring创建并管理3. 获…

C++中两个栈实现一个队列

引言 首先看这个标题的时候,需要联想到栈和队列的特点,栈是先进后出,队列是先进先出。假如三个元素1,2,3,将这三个元素依次入栈1后,再将栈1中元素依次出栈放入到栈2中,栈1中只留下最…

Kube-OVN:基于OVN的开源Kubernetes网络实践

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!今天,许多企业开始运行Kubernetes集群,并从中受益。但我们仍然…

IntelliJ IDEA中创建xml文件

1、file—setting,左上角输入template,2、在左侧栏找到File And Code Templates3、中间选中Files4、点击号,添加模板5、输入模板名字:Name:mybatis-cfg.xml (name可以自定义)6、后缀名extension&#xff1a…

C++冒泡排序

引言 冒泡排序作为排序中一个比较重要的方法,这里做一些简单的记录。 示例 本例中将一组数据2,4,3,8,5按照从小到大的顺序进行冒泡排序。首先说一下,冒泡排序是怎么排序的:将数组中相邻的两个…

阿里云技术专家入选Apache Member;百度Q1财报:营收241亿元;华为面向全球发布AI-Native数据库……...

戳蓝字“CSDN云计算”关注我们哦!嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周二第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

c++选择排序

引言 选择排序就是找出每趟中的最小值或者最大值与对应趟数位置上的数值进行交换,从而排序,具体像序列:2,5,4,3,8若按照从小到大的顺序选择排序,总共5个元素,需要进行5-…

C++快速排序(二)

引言 此文继上一次的c快速排序之后,是时隔一年后的重新领悟。快速排序就是从一列序列中选择一个数作为基数,一般以左边第一个元素为基数,然后定义两个变量left与right,left指向左边第一个元素,与基数指向相同,right指…