安装docker ,更换docker版本
docker
dockerd & containerd
Dockerd(Docker 守护进程)在其底层使用 Containerd 来管理容器。Containerd 是一个开源的容器运行时管理器,由 Docker 公司于2017年开发并开源,它负责实际的容器生命周期管理。
以下是 Docker 守护进程(dockerd)和 Containerd 之间的关系:
Dockerd(Docker 守护进程):Dockerd 是 Docker 引擎的核心组件,负责处理 Docker 命令、容器镜像的构建和运行、容器网络配置、日志记录等高级 Docker 功能。Dockerd 不直接处理容器的详细生命周期管理。
Containerd:Containerd 是一个更低级别的容器运行时管理器,它提供了容器的基本生命周期管理,例如容器的创建、启动、停止、销毁以及容器与 Dockerd 之间的通信。Containerd 本身是面向容器的标准化运行时,它可以与不同的容器编排系统集成,而不仅限于 Docker。
Dockerd 和 Containerd 之间的关系可以看作是 Docker 引擎的高级组件和低级组件之间的关系。Dockerd 使用 Containerd 来执行容器的基本操作,而 Dockerd 本身则添加了更多高级特性和用户友好的 CLI 界面。
这个分层的体系结构使得 Docker 引擎更加灵活,可以用于不同的容器编排系统,而不仅仅是 Docker Compose 和 Kubernetes。此外,Containerd 的开源性质也使得容器运行时变得更加标准化和可扩展。
1.二进制安装docker
二进制docker引擎下载
1.下载
wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz
2.解压
tar xzvf docker-20.10.9.tgz
\cp -rp /root/docker/* /usr/local/bin
3.systemd方式启动
cat >/etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.io
[Service]
OOMScoreAdjust=-1000
Environment="PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"
ExecStart=/usr/local/bin/dockerd
ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT
ExecReload=/bin/kill -s HUP \$MAINPID
Restart=on-failure
RestartSec=5
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl {start,enable} docker
docker升级版本
1.下载
wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.0.tgz
2.停止docker
systemctl stop docker
3.备份
cd /usr/local/bin
tar -cvzf docker-all.tar containerd containerd-shim containerd-shim-runc-v2 ctr docker dockerd docker-init docker-proxy runc
4.替换版本
\cp -rp /root/docker/* /usr/local/bin
5.只需换
dockerd 和 docker 这两个二进制文件,而不需要手动更改 Docker 引擎的其他内部组件的二进制文件。

干啥的
containerd
containerd 是一个基础的容器运行时管理器,它负责管理容器的生命周期,包括创建、启动、停止和删除容器。Docker 使用 containerd 作为其底层容器运行时。
containerd-shim
containerd-shim 是 containerd 的一部分,它是一个代理进程,用于与容器进程进行通信和管理。每个正在运行的容器都有一个关联的 containerd-shim 进程,它负责将容器的 I/O 转发到容器的标准输入、输出和错误,并处理容器的生命周期事件。
containerd-shim-runc-v2
这是 containerd-shim 使用的运行时插件,通常是 runc 的一部分,用于管理容器的执行。runc 是一个开源工具,用于创建和运行容器。
ctr
ctr 是 Docker 的客户端工具,它用于与 containerd 进行通信并执行容器相关的操作,如创建、启动、停止、删除容器等。
docker
docker 命令行工具,也被称为 Docker CLI。它是 Docker 的主要命令行界面,允许用户管理 Docker 容器和镜像,创建和运行容器,构建和推送镜像等。
dockerd
dockerd 是 Docker 的守护进程,也被称为 Docker 引擎。它负责管理 Docker 容器和镜像,监听 Docker CLI 的命令,并执行相应的操作。dockerd 运行时会与 containerd 集成,以实现容器的创建和运行。
docker-init
docker-init 是一个小型初始化进程,通常与 Docker 容器一起使用。它有助于创建容器的 PID 命名空间,设置正确的容器环境,并最终执行容器中的用户指定的进程。
docker-proxy
docker-proxy 是一个代理进程,用于将流量从容器网络命名空间转发到宿主机网络命名空间。这允许容器内的服务可以通过主机的 IP 地址和端口号进行访问。
runc
runc 是一个标准的容器运行时工具,它用于创建和运行 OCI(Open Container Initiative)兼容的容器。Docker 使用 runc 作为其默认容器运行时。
这些二进制文件和工具协同工作,以实现容器的创建、管理和运行。dockerd 是 Docker 引擎的核心,而 containerd 负责底层容器管理,runc 负责容器执行,docker 是用户与 Docker 引擎交互的主要工具。其他工具和进程则支持这些核心功能。
相关文章:
安装docker ,更换docker版本
docker dockerd & containerd Dockerd(Docker 守护进程)在其底层使用 Containerd 来管理容器。Containerd 是一个开源的容器运行时管理器,由 Docker 公司于2017年开发并开源,它负责实际的容器生命周期管理。 以下是 Docker 守…...
英语小作文写作模板及步骤(1)
...
编写hello驱动程序
hello的驱动编写 编写驱动程序的步骤 1.确定主设备号,也可以让内核分配 2.定义自己的 file_operations 结构体 3.实现对应的 drv_open/drv_read/drv_write 等函数,填入 file_operations 结构 体 4.把 file_operations 结构体告诉内核:regist…...
ZYNQ中断例程
GPIO 中断系统初始化流程: 第一步:初始化 cpu 的异常处理功能 第二步:初始化中断控制器 第三步:向 CPU 注册异常处理回调函数; 第四步:将中断控制器中的对应中断 ID 的中断与中断控制器相连接 第五步:设置 …...
常用linux命令 linux_cmd_sheet
查看文件大小 ls -al 显示每个文件的kb大小 查看系统日志 dmesg -T | tail 在 top 命令中,RES 和 VIRT(或者 total-vm)是用来表示进程内存使用的两个不同指标,它们之间有以下区别: RES(Resident Set Size…...
【proteus】8086 写一个汇编程序并调试
参考书籍:微机原理与接口技术——基于8086和Proteus仿真(第3版)p103-105,p119-122. 参考程序是p70,例4-1 在上一篇的基础上: 创建项目和汇编文件 写一个汇编程序并编译 双击8086的元件图: …...
大数据之LibrA数据库常见术语(四)
Failover 指当某个节点出现故障时,自动切换到备节点上的过程。反之,从备节点上切换回来的过程称为Failback。 Freeze 在事务ID耗尽时由AutoVacuum Worker进程自动执行的操作。FusionInsight LibrA会把事务ID记在行头,在一个事务取得一行时&…...
Docker基础知识
文章目录 Docker Docker 一次构建,处处运行,类似于JVM 虚拟机是软件硬件(需要Hypervisors实现硬件资源虚拟化): 资源占用大启动慢(虚拟机是分钟级,Docker是秒级)冗余步骤多 sha2…...
swoole 是什么?
Swoole是一个为PHP用C和C编写的基于事件的高性能异步& 协程并行网络通信引擎; 使 PHP 开发人员可以编写高性能的协程 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IO…...
我想要一个勋章
目录 一、背景二、过程三、总结 一、背景 十年前结缘,也许是冥冥中自有天注定,注定要给自己多加一个今天的节日。 二、过程 一个勋章,一个有意义的标志。 一个勋章,一个时间轮上的帧。 一个勋章,一个二进制的节点。…...
微信小程序设计之主体文件app-json-pages
一、新建一个项目 首先,下载微信小程序开发工具,具体下载方式可以参考文章《微信小程序开发者工具下载》。 然后,注册小程序账号,具体注册方法,可以参考文章《微信小程序个人账号申请和配置详细教程》。 在得到了测…...
C语言-面试题实现有序序列合并
要求: a.输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。 数据范围: 1≤n,m≤1000 1≤n,m≤1000 , 序列中的值满足 0≤val≤30000 输入描述: 1.输入包含三行, 2.第一行包含两个正整数n, m&am…...
Android12 启动页适配
印象中,在2022年末接到了一个针对Android12启动页适配的需求,当时也使用了一些适配方案,也写了一个Demo,但是最终没有付诸适配行动;当然并不是适配失败,而是根据官方适配方案适配后太丑了… 1024纪念文章&a…...
【微服务保护】初识 Sentinel —— 探索微服务雪崩问题的解决方案,Sentinel 的安装部署以及将 Sentinel 集成到微服务项目
文章目录 前言一、雪崩问题及其解决方案1.1 什么是雪崩问题1.2 雪崩问题的原因1.3 解决雪崩问题的方法1.4 总结 二、初识 Sentinel 框架2.1 什么是 Sentinel2.2 Sentinel 和 Hystrix 的对比 三、Sentinel 的安装部署四、集成 Sentinel 到微服务 前言 微服务架构在现代软件开发…...
20231023 比赛总结
比赛链接 反思 A 花了很长时间,幸亏没怎么调就对了,以后还是应该先看其他题的 括号匹配题的套路感觉没有掌握透,感觉无非就是单调栈,哈希,折线图 B 感觉比 T 1 T1 T1 简单 C 正解还是很妙的,但 68…...
Vite创建vue3+ts+pinia+vant项目起步流程
pnpm介绍&安装 本质上他是一个包管理工具,和npm/yarn没有区别,主要优势在于 包安装速度极快磁盘空间利用效率高 安装: npm i pnpm -g使用: npm命令pnpm等效npm installpnpm installnpm i axiospnpm add axiosnpm i webpa…...
JVM 类的加载子系统
文章目录 类的加载过程加载阶段链接阶段初始化 类的加载器测试代码中获取对应的加载器获取加载器加载的路径不同类对应的加载器自定义加载器自定义加载器的方式 获取类的加载器的方式双亲委派机制双亲委派机制的好处 Java 的 SPI 机制1. 接口定义2. 具体实现3. 配置 META-INF/s…...
什么是1024程序员节
一年一度专属于程序员的节日“1024程序员节”要到来了,相信有很多的小伙伴跟我一样,对这个节日非常的熟悉,但也有一下小伙伴对这个节日非常陌生,没事,下面由我来讲解一下1024程序员节。 目录 节日背景 节日由来 社…...
spark获取hadoop服务token
spark 作业一直卡在accepted 问题现象问题排查1.查看yarn app日志2.问题分析与原因 问题现象 通过yarn-cluster模式提交spark作业,客户端日志一直卡在submit app,没有运行 问题排查 1.查看yarn app日志 appid已生成,通过yarn查看app状态为…...
Simulink 最基础教程(一)
1.1基本概念 一个典型的Simulink模型大致如上图这样: 1)模块 block:图中画圈的那些,每个模块可以完成一些特定的任务,类似MATLAB中函数的概念。软件提供了很多模块,当然也可以自定义新的模块 2࿰…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
