Docker 有性能损失吗?

发布时间 - 2020-06-11 00:00:00    点击率:

Docker 有性能损失吗?

Docker有性能损失,但是很小,相对Docker的出色的功能,这点的性能损失是可以忽略不计的,Docker是一个开源的应用容器引擎,可以让开发者打包应用到一个容器中,然后发布到任何流行的Linux机器上运行。

Docker 

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:

  • DockerClient客户端

  • Docker Daemon守护进程

  • Docker Image镜像

  • DockerContainer容器

Docker 原理

Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。同VM的方式不同, LXC 其并不是一套硬件虚拟化方法 - 无法归属到全虚拟化、部分虚拟化和半虚拟化中的任意一个,而是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观。所以我们从虚拟化到docker要解决的问题出发,看看他是怎么满足用户虚拟化需求的。

用户需要考虑虚拟化方法,尤其是硬件虚拟化方法,需要借助其解决的主要是以下4个问题:

  • 隔离性 - 每个用户实例之间相互隔离, 互不影响。 硬件虚拟化方法给出的方法是VM, LXC给出的方法是container,更细一点是kernel namespace

  • 可配额/可度量 - 每个用户实例可以按需提供其计算资源,所使用的资源可以被计量。硬件虚拟化方法因为虚拟了CPU, memory可以方便实现, LXC则主要是利用cgroups来控制资源

  • 移动性 - 用户的实例可以很方便地复制、移动和重建。硬件虚拟化方法提供snapshot和image来实现,docker(主要)利用AUFS实现

  • 安全性 - 这个话题比较大,这里强调是host主机的角度尽量保护container。硬件虚拟化的方法因为虚拟化的水平比较高,用户进程都是在KVM等虚拟机容器中翻译运行的, 然而对于LXC, 用户的进程是lxc-start进程的子进程, 只是在Kernel的namespace中隔离的, 因此需要一些kernel的patch来保证用户的运行环境不会受到来自host主机的恶意入侵, dotcloud(主要是)利用kernel grsec patch解决的.


推荐教程:《Docker》


# docker  # 是一个  # 主要是  # 来实现  # 开源  # 他们的  # 几个  # 是在  # 运行环境  # 尤其是  # 他是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速搭建安全的FTP站点?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel集合Collection怎么用_Laravel集合常用函数详解  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  如何批量查询域名的建站时间记录?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Linux网络带宽限制_tc配置实践解析【教程】  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  浅谈javascript alert和confirm的美化  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  如何在阿里云高效完成企业建站全流程?  北京专业网站制作设计师招聘,北京白云观官方网站?  如何在IIS中新建站点并配置端口与IP地址?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  香港服务器网站卡顿?如何解决网络延迟与负载问题?  JS实现鼠标移上去显示图片或微信二维码  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  如何做网站制作流程,*游戏网站怎么搭建?  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  在Oracle关闭情况下如何修改spfile的参数  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  java中使用zxing批量生成二维码立牌  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  想要更高端的建设网站,这些原则一定要坚持!  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel如何创建自定义Artisan命令?(代码示例)  浅谈redis在项目中的应用  如何在Tomcat中配置并部署网站项目?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  Python文件操作最佳实践_稳定性说明【指导】  Laravel如何使用Gate和Policy进行授权?(权限控制)  高端建站三要素:定制模板、企业官网与响应式设计优化  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  原生JS获取元素集合的子元素宽度实例  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Swift中循环语句中的转移语句 break 和 continue  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  SQL查询语句优化的实用方法总结  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何在搬瓦工VPS快速搭建网站?  Laravel如何实现事件和监听器?(Event & Listener实战)