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

news2024/11/24 6:02:54

在不断发展的容器化世界中,两个关键组件经常被混淆: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.coloradmin.cn/o/1798197.html

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

相关文章

【前端】响应式布局笔记——自适应布局

自适应布局 自适应布局是不同设备对应不同的html(局部自适应),通过判断设备的类型或控制局部的变化。 1、获取设备是移动端还是pc端 // 获取设备的信息let userAgent navigator.userAgent.toLowerCase();// 使用正则表达式来判断类型let device /ipad|iphone|m…

读书笔记分享

1.绝大多数父母都是爱孩子的,可他们却不是称职的父母。世界上任何职业都要培训、考核、竞争上岗,唯有“父母”这个职业是没有这些程序,只要生了小孩,就是天经地义的父母。 2.由于自身工作特点,“白领”们的部分器官和…

【Java数据结构】详解Stack与Queue(四)

🔒文章目录: 1.❤️❤️前言~🥳🎉🎉🎉 2.用队列实现栈 3.用栈实现队列 4.栈和队列存放null 5.总结 1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友…

计算机网络-NAT配置与ACL

目录 一、ACL 1、ACL概述 2、ACL的作用 3、ACL的分类 4、ACL的配置格式 二、NAT 1、NAT概述 2、NAT分类 2.1 、 静态NAT 2.2 、 动态NAT 3、NAT的功能 4、NAT的工作原理 三、NAT配置 1、静态NAT配置 2、动态NAT配置 四、总结 一、ACL 1、ACL概述 ACL&#xff…

微服务框架下,因发送端与消费端的vhost不一致,导致rabbitmq出现严重的消息堆积

一、背景 在生产环境下,rabbitmq机器出现磁盘空间不足的报警,发现是某个队列的消息只有生产,迟迟没有消费。 可以得到的信息是: 队列queue是data_center_file_change_queue队列绑定的交换机是resourceChangeExchange&#xff0c…

基于深度学习的CT影像肺癌检测识别

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 肺癌是全球范围内导致癌症死亡的主要原因之一,早期检测和诊断对于提高患者生存率至关重要。随着深度学习技术的迅猛发展,基于CT影像的肺癌检测识别成为了研究热点。本文介绍…

水库安全监测系统:智慧水文动态监测系统

TH-SW2水库安全监测系统,作为一款智慧水文动态监测系统,其在现代水利管理中扮演着至关重要的角色。该系统通过集成先进的数据采集、传输、处理和分析技术,为水库的安全运行提供了强有力的技术支撑。 水库安全监测系统是一种用于实时监测和记…

【案例分享】印前制版工单系统:“鹿山科技”助力“铭匠数据”重塑业务流程

内容概要 本文介绍了鹿山信息科技通过明道云HAP平台的数字化解决方案提升了铭匠数据在印前制版行业的效率。周口铭匠数据科技有限公司位于河南省周口市沈丘县,是一家专注于印前制版设计服务的公司,成立于2023年。企业在销售业务、版材制作生产和美工设计…

springboot编写简述01

项目结构 Users.java package com.sust.entity;import java.io.Serializable;public class Users implements Serializable {private String name;private String password;public String getName() {return name;}public void setName(String name) {this.name name;}publ…

探索Omega-3脂肪酸:健康益处与营养补充

谷禾健康 随着国家卫生健康委发布2024版食养指南,以及前几天在上海举办的临床医学与营养食品论坛,越来越多的人开始重视日常膳食的营养与健康。 而说到脂肪,很多人都会“谈脂色变”,想要避免脂肪的摄入,这其实是不正确…

神经网络 torch.nn---Pooling layers(nn.MaxPool2d)

torch.nn — PyTorch 2.3 documentation torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io) nn.MaxPool2d class torch.nn.MaxPool2d(kernel_size, strideNone, padding0, dilation1, return_indicesFalse, ceil_modeFalse) 参数介绍 kernel_size(int or tuple) - …

宝兰德应用服务器软件通过保险业信息技术应用创新攻关实验室产品适配测试认证

近期,宝兰德中间件核心产品「应用服务器软件 V9.5.5」(以下简称:应用服务器软件)顺利通过了保险业信息技术应用创新攻关实验室产品适配测试。标志着宝兰德应用服务器软件符合信息技术产品适配要求,能够全面支持金融保险…

小华半导体MCU方案选型和应用

小华半导体有限公司是中国电子信息产业集团有限公司旗下集成电路业务平台华大半导体有限公司的核心子公司,目前团队规模约300人,其中75%以上为研发人员,国内细分行业规模最大,核心骨干拥有国际MCU大厂25年以上从业经验。 小华半导…

“墨者杯”网络安全大赛wp

漏洞利用01 504错误修改为POST提交拿到php源码, 查看逻辑$_POST[roam1] ! $_POST[roam2] && sha1($_POST[roam1]) sha1($_POST[roam2]) 采用数组绕过 roam1[]1&roam2[]2 拿到phpinfo,观察发现 这里的意思是每个php页面都包含这个f14…

C++基类与派生类

1.派生类的定义 派生类语法如下&#xff1a; class <派生类名> : <继承方式> <基类名> { private:派生类新增成员&#xff1b; protected:派生类新增成员&#xff1b; public:派生类新增成员&#xff1b; }; 说明&#xff1a; &#xff08;1&#xff09;cla…

新手必看!场外期权交易的六大注意事项

场外期权交易的六大注意事项 对于初涉金融市场的投资者来说&#xff0c;场外期权交易无疑是一个既具吸引力又充满挑战的领域。为确保您在交易中能够稳健获利&#xff0c;以下六大注意事项值得每位新手仔细研读。 文章来源/&#xff1a;财智财经 一、深入理解期权基本概念 场…

QComboBox条目可选择状态

有时候下拉框需要根据情况&#xff0c;将某些条目设为不可点击状态&#xff0c;或者动态切换为可点击状态&#xff0c;可采用以下方法。 //item1可选ui->comboBox->setItemData(0, QVariant(-1), Qt::UserRole-1);//item2不可选ui->comboBox->setItemData(1, QVari…

kivy 百词斩项目 报错

AttributeError: FigureCanvasKivyAgg object has no attribute resize_event AttributeError: FigureCanvasKivyAgg object has no attribute resize_event 是一种常见的Python错误&#xff0c;当你试图访问一个对象&#xff08;在这个例子中是 FigureCanvasKivyAgg 对象&am…

华为鸿蒙开发-鸿蒙基于ARKTS开发之启动模式

前言 鸿蒙生态取得爆发式增长&#xff01; 截至3月底&#xff0c;已有超4000个应用加入鸿蒙生态。 而在今年1月中旬&#xff0c;华为刚宣布HarmonyOS NEXT鸿蒙星河版面向开发者开放申请&#xff0c;这一版本鸿蒙系统也被称为“纯血鸿蒙”。 当时&#xff0c;华为宣布首批200…

如何进行Android更新功能测试

Android系统是目前全球市场占有率最高的移动操作系统之一&#xff0c;每年都会发布多次更新&#xff0c;包括安全更新、功能更新等。在开发和发布新版本的过程中&#xff0c;功能测试是至关重要的一环。本文将介绍如何进行Android更新功能测试&#xff0c;并提供一些代码示例。…