Dockershim 与 Containerd:两种容器运行时的故事

在不断发展的容器化世界中,两个关键组件经常被混淆:Dockershim 和 containerd。虽然它们在管理容器方面都发挥着重要作用,但它们的用途却截然不同。本文深入探讨了它们的功能,深入探讨了 Dockershim 和 containerd 之间的区别。

揭秘 Dockershim:Docker Orchestrator Bridge

Dockershim 是 Docker 运行时垫片的缩写,是 Kubernetes 容器编排平台中的一个特定组件。它的主要功能是充当 Kubernetes 和 Docker 之间的桥梁。以下是 Dockershim 角色的细分:

  • Kubernetes 通信: Kubernetes 使用容器运行时接口 (CRI) 与容器运行时进行交互。Dockershim 将 Kubernetes 的 CRI 请求转换为容器引擎 Docker 能够理解的命令。

  • Docker 引擎集成: Dockershim 依赖 Docker 引擎的功能来管理容器生命周期(创建、启动、停止、删除)。它本质上充当 Kubernetes 的转换器,以利用 Docker 的功能。

Dockershim 的缺点:

虽然 Dockershim 最初达到了其目的,但它也有局限性:

  • 供应商锁定:它将 Kubernetes 与 Docker 绑定在一起,阻碍了使用替代容器运行时(例如 containerd 或 CRI-O)。

  • 功能有限: Dockershim 仅提供了像 containerd 这样的成熟容器运行时所提供的部分功能。

进入 containerd:通用容器运行时

另一方面,Containerd 是一个轻量级容器运行时,它为管理容器镜像、进程和存储提供了底层基础。它拥有几个关键功能:

  • 供应商无关:与 Dockershim 不同,containerd 的设计与容器编排平台或容器引擎无关。它实现了 CRI,允许各种编排器(如 Kubernetes)直接与其交互。

  • 丰富的功能:与 Dockershim 相比,Containerd 提供的功能更加丰富,包括镜像管理、进程监控、检查点和沙盒功能。

  • 独立运行: Containerd 可以独立于 Docker 或任何其他容器引擎运行。它提供模块化方法,允许用户选择最适合其需求的镜像管理工具。

containerd的崛起:

Containerd 的灵活性和功能使其成为寻求摆脱供应商锁定的容器编排平台的自然选择。结果:

  • Kubernetes 和 containerd: Kubernetes 已从 Dockershim 转型,使 containerd 成为大多数部署的默认容器运行时。

  • Docker 拥抱 containerd:有趣的是,Docker 本身现在在底层利用 containerd,利用其功能进行自己的容器管理。

Dockershim 与 containerd:正面比较

16671ac101dc22fe4125f99358cc4c95.png

结论:Dockershim 的基础和 containerd 的未来

虽然 Dockershim 在 Kubernetes 早期发挥了重要作用,但 containerd 的灵活性和功能集使其成为容器编排平台的首选。随着容器化的不断发展,containerd 将继续成为一项基石技术,为管理容器化应用程序提供强大且与供应商无关的基础。

推荐

A Big Picture of Kubernetes

Kubernetes入门培训(内含PPT)


原创不易,随手关注或者”在看“,诚挚感谢!

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

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

相关文章

SpringBoot——全局异常处理

目录 异常 项目总结 新建一个SpringBoot项目 pom.xml Result(通用的响应结果类) MyBusinessException自定义异常类 GlobalExceptionHandler全局异常处理类 ExceptionController控制器 SpringbootExceptionApplication启动类 参考文章&#xff1a…

对比投入高成本自研推广系统,直接采用SaaS更有效益

推广分销作为一种有效的市场拓展方式,被越来越多的企业所采纳。部分企业会选择投入资源自研一套推广分销系统,但是其实最后发现几年过去了,投入了大量成本,系统仍然是一地鸡毛,还在定义一些基本的属性。 自研推广系统…

Web前端三大主流框架:Angular、React与Vue.js的深入探讨

在快速发展的Web前端领域,选择一款合适的框架对于提升开发效率、保证代码质量以及实现项目目标具有至关重要的作用。在众多前端框架中,Angular、React和Vue.js以其独特的优势和广泛的应用场景,成为了市场上的三大主流框架。本文将深入剖析这三…

08-使用HappyPack提升Webpack构建速度

使用HappyPack提升Webpack构建速度 笔记分享 在前端开发中,Webpack 是一种非常流行的模块打包工具。然而,随着项目规模的扩大和复杂度的增加,Webpack 的构建速度可能会成为一个瓶颈。为了提升构建速度,我们可以使用一些工具和优化…

基于4G工业路由器的信息发布系统物联网应用方案

随着物联网技术的快速发展,智能信息发布系统已成为城市管理和信息传播的重要工具。而4G工业路由器作为连接信息发布终端与云平台的关键设备,其在提升信息发布效率方面发挥着至关重要的作用。为了提升智能信息发布系统的效率和智能化水平,智联…

【RPG Maker MV 仿新仙剑 战斗场景UI (十)】

RPG Maker MV 仿新仙剑 战斗场景UI (十) 前言角色站位人物站位人物影子 前言 上一期完成了几个功能,虽然没有进行进一步的优化,但基础的功能已经完成,现在记录下已完成及未完成的功能: 战斗菜单 一级战斗菜…

python opencv运行报错

报错如下错误:The function is not implemented. Rebuild the library with Windows, GTK 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage 解决办…

PromptIR论文阅读笔记

MZUAI和IIAI在NIPS2023上的一篇论文,用prompt来编码degradation,然后用来guide restoration network,使得模型能够泛化到不同degradation types and levels,也就是说是一个模型一次训练能够应对多种degradation的unified model。文…

讲座PPT分享|医学人工智能开始进入黄金时代|24年6月·讲座速递·06-03

小罗碎碎念 这期推文想分享的是自己四月底受邀做的一个报告——主题是“人工智能在肿瘤领域的进展&人工智能在脊柱外科领域中的进展”。 先解释一下,为什么我一个研究肿瘤的,会去关注脊柱外科——因为受到了脊柱外科医生的邀请,去给他们…

PTR记录-系统架构师(五)

1、关于串行总线的说法中,正确的是()。 A串行总线一般都是双全工总线,适宜于长距离传输数据 B串行总线传输的波特率是总线初始化时预先定义好的,使用中不可改变 C串行总线是按位(bit)传输数据…

每日练习——牛客周赛 Round 45

小紫的总分 题目描述 登录—专业IT笔试面试备考平台_牛客网 运行代码 #include<iostream> using namespace std; int main(){int a,b,c,d,e,sum;cin>>a>>b>>c>>d>>e;sumabcde;if(sum>100){ cout<<"YES";}else cout&…

MySQL之查询性能优化(二)

查询性能优化 慢查询基础:优化数据访问 查询性能低下最基本的原因是访问的数据太多。某些查询可能不可避免地需要筛选大量数据&#xff0c;但这并不场景。大部分性能低下的查询都可以通过减少访问的数据量的方式进行优化。对于低效的查询&#xff0c;我们发现通过下面两个步骤…

初识Sass

1、Sass概述 Sass&#xff08;Syntactically Awesome Style Sheets&#xff09;是一种CSS预处理器&#xff0c;用于增强CSS的功能和灵活性。 定义与起源&#xff1a; Sass最初由Hampton Catlin设计&#xff0c;由Natalie Weizenbaum开发。它是对CSS3的一种扩充&#xff0c;允许…

家政预约小程序09小程序分享及海报分享

目录 1 设置弹窗2 制作海报总结 上一篇我们介绍了服务详情页面的开发&#xff0c;本篇介绍一下用户分享及海报分享的功能 1 设置弹窗 当用户点击分享按钮的时候&#xff0c;系统弹出弹窗界面&#xff0c;提供分享好友及分享海报的选项。选中页面组件&#xff0c;添加弹窗组件 …

nodeJs项目总结

文章目录 学习总结mongoose指令操作schema 对象将Shcema对象转化为数据模型操作数据库插入查询删除修改限制查询条数 模板引擎语法模版输出条件判断循环 子模版模版继承 项目Login主要步骤及逻辑身份认证session cookiejwt 学习总结 mongoose 指令 mongodb 数据库名 mongod…

了解 IPv4 和 IPv6 之间的区别?

在广阔的互联网环境中&#xff0c;设备之间的通信依赖于一组独特的协议来促进连接。在这些协议中&#xff0c;IPv4&#xff08;互联网协议第4版&#xff09;和IPv6&#xff08;互联网协议第6版&#xff09;是数字基础设施的支柱&#xff0c;能够跨网络传输数据。但是&#xff0…

基于WIN2016搭建MS2016 ALWAYS ON域控故障转移群集

基于WIN2016搭建MS2016 ALWAYS ON域控故障转移群集 一、前言1、Always On简介2、AD DC域控简介 二、部署实施1、部署环境简介2、搭建流程简介3、域控服务器安装及群集节点加域3.1、安装域控&#xff0c;安装同时会安装DNS系统3.2、执行安装&#xff0c;完成后重启服务器3.3、将…

前端需不需要控制并发请求?浏览器自带并发控制?

不知道为什么&#xff0c;最近大数据给我推荐了几篇前端做控制并发的文章&#xff0c;技术实现是没任何问题&#xff0c;使用到的技术核心也不错&#xff0c;就是应用的地方就有点问题了。 浏览器 HTTP 请求 pending 打开浏览器&#xff0c;network 可以看每个请求的状态&…

如何让 大模型/深度学习 更加聪明(切实有效的8个思考角度)

要让大模型更加聪明&#xff0c;可以采取以下方法&#xff1a; 增加数据量&#xff1a;大模型需要足够的数据来学习和理解复杂的问题。通过增加训练数据的数量&#xff0c;可以帮助模型更全面地学习和推理。 提高模型的复杂度&#xff1a;大模型往往有更多的层和参数&#xff…

「vue同一个组件,不同路由切换时界面没有更新问题」

问题&#xff1a;vue项目中不同路由切换时&#xff0c;因为引用的同一个组件&#xff0c;界面数据没有更新 一、解决方法 添加key&#xff0c;具体原理可参考vue中的diff算法 <router-view :key"$route.fullPath"></router-view>