【容器】Containerd产生及和Docker对比

目录

背景

Docker介绍

Containerd介绍

常用命令对比


自 Kubernetes v1.24 起,Dockershim 已被删除,k8s将Containerd作为其容器运行时,那此次变化对容器化有何影响呢,本文进行简单介绍

背景

在 Kubernetes 早期,只支持一种容器运行时。这个运行时就是 Docker 引擎。当时,并没有太多其他选择,而且 Docker 是使用容器的主要工具。随着技术发展,k8s添加更多容器运行时,例如 rkt 和 hypernetes,很明显 Kubernetes 希望用户选择最适合他们的运行时。因此,Kubernetes 需要一种方法来允许集群操作员灵活地选择容器运行时。

容器运行时接口(CRI) 的发布就是为了实现这种灵活性。但是CRI 带来了一个问题:Docker Engine 作为容器运行时的使用早于 CRI,并且 Docker Engine 与 CRI 不兼容。为了解决这个问题,引入了一个小型软件 shim (dockershim) 作为 kubelet 组件的一部分,专门填补 Docker Engine 和 CRI 之间的空白,允许集群运营商继续使用 Docker Engine 作为其容器运行时。

k8s认为维护特定供应商的代码不符合开源理念。而Containerd是CNCF毕业的项目,所以在 Kubernetes v1.20 的发布,dockershim正式弃用了。

但是这并不意味着 Docker 的消亡,我们还能使用 Docker 作为开发工具。Docker 仍然是构建容器的有用工具,运行后生成的镜像docker build仍然可以在 Kubernetes 集群中运行。

Docker 生成的镜像并不是真正特定于 Docker 的镜像,而是 OCI(开放容器计划)镜像。任何符合 OCI 标准的镜像,无论使用什么工具来构建它,对于 Kubernetes 来说都是一样的。containerd和 CRI-O都知道如何提取这些镜像并运行它们。

注意:如果依赖底层 docker socket ( /var/run/docker.sock) 作为集群内工作流程的一部分,那么无法迁移到不同的运行时。这种模式通常被称为 Docker 中的 Docker。

Docker介绍

Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 使能够将应用程序与基础设施分离,以便可以快速交付软件。借助 Docker,可以像管理应用程序一样管理基础设施。通过利用 Docker 的方法来传送、测试和部署代码,可以显着减少编写代码和在生产中运行代码之间的延迟。Docker Engine 已经使用 Containerd 进行容器生命周期管理,包括创建、启动和停止容器。

很久之前,大家一般把容器都认为是Docker。

Containerd介绍

Containerd 是一个行业标准的容器运行时,强调简单性、稳健性和可移植性。它可作为 Linux 和 Windows 的守护进程,可以管理其主机系统的完整容器生命周期:图像传输和存储、容器执行和监督、低级存储和网络附件等。它是一个低级构建块,旨在集成到其他系统中,例如 Docker 和 Kubernetes。

常用命令对比

如果使用Containerd,我们建议使用crictl命令

命令

Docker

Containerd

docker

crictl

ctr

查看容器列表

docker ps

crictl ps

ctr -n k8s.io c ls

查看容器详情

docker inspect

crictl inspect

ctr -n k8s.io c info

查看容器日志

docker logs

crictl logs

容器内执行命令

docker exec

crictl exec

挂载容器

docker attach

crictl attach

显示容器资源使用情况

docker stats

crictl stats

创建容器

docker create

crictl create

ctr -n k8s.io c create

启动容器

docker start

crictl start

ctr -n k8s.io run

停止容器

docker stop

crictl stop

删除容器

docker rm

crictl rm

ctr -n k8s.io c del

查看镜像列表

docker images

crictl images

ctr -n k8s.io i ls

查看镜像详情

docker inspect

crictl inspecti

拉取镜像

docker pull

crictl pull

ctr -n k8s.io i pull

推送镜像

docker push

ctr -n k8s.io i push

删除镜像

docker rmi

crictl rmi

ctr -n k8s.io i rm

查看Pod列表

crictl pods

查看Pod详情

crictl inspectp

启动Pod

crictl runp

停止Pod

crictl stop

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

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

相关文章

Chrome插件精选 — 标签效率管理插件

Chrome实现同一功能的插件往往有多款产品,逐一去安装试用耗时又费力,在此为某一类型插件挑选出比较好用的一款或几款,尽量满足界面精致、功能齐全、设置选项丰富的使用要求,便于节省一个个去尝试的时间和精力。 1. OneTab Plus 下…

算法进修Day-32

算法进修Day-32 63. 不同路径II 难度:中等 题目要求: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记…

从0-1,使用腾讯OCR进行身份证识别

目录 1.申请腾讯OCR权限 2.代码思路 3.Postman测试​ 1.申请腾讯OCR权限 获取 secretId 和 secretKey,见上文从0到1,申请cos服务器并上传图片到cos文件服务器-CSDN博客https://blog.csdn.net/m0_55627541/article/details/133902798 2.代码思路 入参…

【PXIE301-211】青翼科技基于PXIE总线的16路并行LVDS数据采集、1路光纤数据收发处理平台

板卡概述 PXIE301-211是一款基于PXIE总线架构的16路并行LVDS数据采集、1路光纤收发处理平台,该板卡采用Xilinx的高性能Kintex 7系列FPGA XC7K325T作为实时处理器,实现各个接口之间的互联。板载1组64位的DDR3 SDRAM用作数据缓存。板卡具有1个FMC&#xf…

2023_Spark_实验十四:SparkSQL入门操作

1、将emp.csv、dept.csv文件上传到分布式环境,再用 hdfs dfs -put dept.csv /input/ hdfs dfs -put emp.csv /input/ 将本地文件put到hdfs文件系统的input目录下 2、或者调用本地文件也可以。区别:sc.textFile("file:///D:\\temp\\emp.csv&qu…

OpenLDAP LDIF详解

手把手一步步搭建LDAP服务器并加域 有必要理解的概念LDAPWindows Active Directory 服务器配置安装 OpenLDAP自定义安装修改对象(用户和分组等)修改olcSuffix 和 olcRootDN 属性增加olcRootPW 属性修改olcAccess属性验证新属性值 添加对象(用…

【C语言必知必会 | 第四篇】一文带你精通顺序结构

引言 C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。它在编程语言中具有举足轻重的地位。 此文为【C语言必知必会】系列第四篇,进行C语言顺序结构的专项练习,结合专题优质题目,带领读者从0开始&#xff0…

AndroidX使用Paho MQTT报找不到android/support/v4/content/LocalBroadcastManager

网上有直接引用support-v4包的,但我用的AndroidX,不能为这个类再引用support-v4 直接自己创建这个类,把androidx.localbroadcastmanager.content.LocalBroadcastManager改改就行。 虽然奇葩但能解决问题 package android.support.v4.content…

[人工智能-综述-12]:第九届全球软件大会(南京)有感 -1-程序员通过大模型增强自身软件研发效率的同时,也在砸自己的饭碗

目录 前言: 一、什么是软件工程 1.1 什么软件工程 1.2 影响软件开发效能的三大因素 1.3 AI大模型是如何提升软件工程全过程效率的 二、AI大模型如何提升软件项目管理效率 2.1 概述 2.2 案例或工具 三、AI大模型如何提升软件开发工具的效率 3.1 概述 3.2 …

JAVA 如何 改变 System.out.println(““); 的流向。

平日我们的内容都是输出在控制,现在小加变动,我们可以让他输出到文件。 package cn.cqvie.chapter01.exam1;import java.io.FileNotFoundException; import java.io.PrintStream;public class RediretOutputStream {public static void main(String[] ar…

Git GUI使用笔记

看这个视频 Git GUI基本使用_哔哩哔哩_bilibili 1 下载 Git-2.42.0.2-64Window64位安装包-最新版资源-CSDN文库 安装软件就一路next就可以 2 配置 空白处右键,选择Open Git Bash here ,输入下面两行配置信息 git config --global user.name "Y…

大语言模型面试心路历程【0 offer版】

记录自己大语言模型面试的经历,旨在可以帮助更多想要从事此方面的小伙伴。 北银金科 1.InstructGPT的训练过程 2.critic网络的作用 3.LSTM的原理,GRU与LSTM有什么不同 4.讲一下Bert的结构 5.讲一下自己的论文【KBQA相关】 6.GLM的结构和微调了哪些参数 …

小程序之自定义组件 结合案例(会议OA的会议/投票管理及个人中心的搭建)详解 (4)

⭐⭐ 小程序专栏:小程序开发专栏 ⭐⭐ 个人主页:个人主页 目录 一.前言 二.小程序自定义组件及其使用 2.1 自定义组件的使用 三.使用自定义组件完成会议功能界面的实现 3.1 导航栏的实现 3.2 会议界面内容的实现 四.投票管理界面 五.个人中心 今天…

uview组件使用笔记

图标样式 修改图标的样式 通过color参数修改图标的颜色通过size参数修改图标的大小&#xff0c;单位为rpx 效果图 <u-icon name"photo" color"#2979ff" size"28"></u-icon>图片图标 1.3.0 这里说的图片图标&#xff0c;指的是小…

7、Linux驱动开发:设备-自动创建设备节点

目录 &#x1f345;点击这里查看所有博文 随着自己工作的进行&#xff0c;接触到的技术栈也越来越多。给我一个很直观的感受就是&#xff0c;某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了&#xff0c;只有经常会用到的东西才有可能真正记…

【力扣刷题】回文链表、环形链表、合并两个有序链表

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 刷题篇 一、回文链表1.1 题目描述1.2 思路分…

msvcr120.dll缺失怎么修复,快速修复msvcr120.dll丢失的三个有效方法

随着计算机技术的不断发展&#xff0c;我们在使用软件或游戏时经常会遇到各种错误提示&#xff0c;其中找不到msvcr120.dll就是一种常见的错误。那么&#xff0c;msvcr120.dll是什么&#xff1f;它的作用是什么&#xff1f;如何修复这一错误呢&#xff1f;本文将为您详细介绍几…

7.7亿参数,超越5400亿PaLM!UW谷歌提出「分步蒸馏」,只需80%训练数据|ACL 2023

LLM不实用&#xff0c;小模型蒸馏才是「现实」的大模型应用路线&#xff0c;全面领先微调技术&#xff01;土豪请无视。。。 大型语言模型虽然性能优异&#xff0c;可以用零样本或少样本提示解决新任务&#xff0c;但LLM在实际应用部署时却很不实用&#xff0c;内存利用效率低…

基于Java的汽车维修预约管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

HZOJ-270:最大子序和

题目描述 ​ 输入一个长度为 n&#xfffd; 的整数序列&#xff0c;从中找出一段不超过 M&#xfffd; 的连续子序列&#xff0c;使得整个序列的和最大。 ​ 例如 1&#xff0c;−3,5,1&#xff0c;−2,31&#xff0c;−3,5,1&#xff0c;−2,3&#xff1a; ​ 当 m4&#x…