Docker 替换到 Containerd (nerdctl相关指令)
因为docker不给用了,所以使用Containerd来代替
前置准备
安装 Containerd
# 安装 containerd
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y containerd.io
# 生成默认配置文件
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml# 启动 containerd
systemctl start containerd
systemctl enable containerd
迁移步骤
1. 备份数据
# 创建备份目录
mkdir -p /backup/docker# 导出所有 Docker 镜像
for image in $(docker images --format "{{.Repository}}:{{.Tag}}"); dodocker save $image > "/backup/docker/${image//\//_}.tar"
done# 导出容器数据卷
docker run --rm --volumes-from <container_name> -v /backup/docker:/backup busybox tar cvf /backup/data.tar /data
2. 导入镜像到 Containerd
# 安装 nerdctl (Containerd 的命令行工具)
wget https://github.com/containerd/nerdctl/releases/download/v0.22.2/nerdctl-0.22.2-linux-amd64.tar.gz
tar xvf nerdctl-0.22.2-linux-amd64.tar.gz
mv nerdctl /usr/local/bin/# 导入镜像
for tar in /backup/docker/*.tar; doctr images import $tar
done
3. 运行容器配置
- 获取 Docker 容器配置:
# 导出容器配置
docker inspect <container_name> > container_config.json
- 创建对应的 Containerd 容器:
# 使用 nerdctl 创建容器,运行容器时只需要把平时用的docker run 换成nerdctl run就可以,参数和使用docker run基本一致
nerdctl run \--name <new_container_name> \--volume /path/to/data:/container/path \--network <network_name> \--env-file <env_file> \<image_name>
5. 验证
# 检查容器状态
nerdctl ps -a# 检查服务可用性
curl http://localhost:<port># 检查日志
nerdctl logs <container_name>
基础命令
1. 容器管理
# 运行容器
nerdctl run [选项] 镜像名 [命令]
# 示例:运行 Nginx
nerdctl run -d --name mynginx -p 80:80 nginx# 常用运行选项:
-d, --detach # 后台运行
-p, --publish # 端口映射
-v, --volume # 挂载数据卷
--name # 指定容器名
--rm # 容器停止后自动删除
-e, --env # 设置环境变量
--network # 指定网络
2. 容器操作
# 查看运行中的容器
nerdctl ps
# 查看所有容器(包括已停止的)
nerdctl ps -a# 启动/停止/重启容器
nerdctl start 容器名或ID
nerdctl stop 容器名或ID
nerdctl restart 容器名或ID# 删除容器
nerdctl rm 容器名或ID
# 强制删除运行中的容器
nerdctl rm -f 容器名或ID# 查看容器日志
nerdctl logs 容器名或ID
# 实时查看日志
nerdctl logs -f 容器名或ID# 进入容器
nerdctl exec -it 容器名或ID /bin/bash
3. 镜像管理
# 查看本地镜像
nerdctl images# 拉取镜像
nerdctl pull 镜像名:标签# 推送镜像到仓库
nerdctl push 镜像名:标签# 删除镜像
nerdctl rmi 镜像名:标签# 构建镜像
nerdctl build -t 镜像名:标签 .# 保存和加载镜像
nerdctl save 镜像名:标签 > image.tar
nerdctl load < image.tar
高级功能
1. 网络管理
# 查看网络列表
nerdctl network ls# 创建网络
nerdctl network create 网络名
# 示例:创建自定义网络
nerdctl network create mynetwork# 删除网络
nerdctl network rm 网络名# 连接容器到网络
nerdctl network connect 网络名 容器名# 断开容器与网络的连接
nerdctl network disconnect 网络名 容器名
2. 数据卷管理
# 查看数据卷
nerdctl volume ls# 创建数据卷
nerdctl volume create 卷名# 删除数据卷
nerdctl volume rm 卷名# 查看数据卷详情
nerdctl volume inspect 卷名
3. 容器资源限制
# 限制内存使用
nerdctl run -m 512m 镜像名# 限制 CPU 使用
nerdctl run --cpus 2 镜像名# 限制 CPU 份额
nerdctl run --cpu-shares 512 镜像名
4. 容器编排
# 使用 compose 启动服务
nerdctl compose up -d# 停止 compose 服务
nerdctl compose down# 查看 compose 服务状态
nerdctl compose ps
实用技巧
1. 容器监控
# 查看容器资源使用情况
nerdctl stats# 查看容器详细信息
nerdctl inspect 容器名或ID
2. 镜像管理技巧
# 清理未使用的镜像
nerdctl image prune# 清理所有未使用的资源
nerdctl system prune# 查看镜像历史
nerdctl history 镜像名:标签
3. 文件传输
# 从容器复制文件到主机
nerdctl cp 容器名:/容器内路径 主机路径# 从主机复制文件到容器
nerdctl cp 主机文件路径 容器名:/容器内路径
常见问题解决
- 容器无法访问网络:
# 检查网络配置
nerdctl inspect 容器名 | grep -i network
- 容器启动失败:
# 查看详细错误信息
nerdctl events
nerdctl logs 容器名
- 存储空间问题:
# 清理未使用的数据
nerdctl system prune -a --volumes
最佳实践
- 使用
--rm参数运行临时容器 - 总是给容器命名,便于管理
- 使用数据卷而不是绑定挂载
- 定期清理未使用的资源
- 使用 compose 文件管理多容器应用
相关文章:
Docker 替换到 Containerd (nerdctl相关指令)
因为docker不给用了,所以使用Containerd来代替 前置准备 安装 Containerd # 安装 containerd yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y containerd.io # 生成默认配置文件 mkdir -p…...
Ollama API 参考文档
文档来源:API 参考文档 -- Ollama 中文文档|Ollama官方文档 端点 生成完成生成聊天完成创建模型列出本地模型显示模型信息复制模型删除模型拉取模型推送模型生成嵌入列出正在运行的模型版本...
PHP房屋出租出售高效预约系统小程序源码
🏠 房屋出租出售高效预约系统 —— 您的智能找房新选择 💡 这是一款集智慧与匠心于一体的房屋出租出售预约系统,它巧妙地融合了ThinkPHP与Uniapp两大先进框架,精心打造而成。无论是小程序、H5网页,还是APP端ÿ…...
学习threejs,使用MeshBasicMaterial基本网格材质
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshBasicMaterial 二…...
Kafka Connect 功能介绍
Kafka Connect 是一款用于在 Apache Kafka 和其他系统之间进行数据传输的工具,它提供了以下功能: 1. 通用框架 标准化集成:Kafka Connect 提供了一个通用框架,用于将其他数据系统与 Kafka 集成,简化了连接器的开发、部署和管理。支持多种数据系统:可以快速定义连接器,将…...
从卡顿到丝滑:火山引擎DeepSeek-R1引领AI工具新体验
方舟大模型体验中心全新上线,免登录体验满血联网版Deep Seek R1 模型及豆包最新版模型:https://www.volcengine.com/experience/ark?utm_term202502dsinvite&acDSASUQY5&rcGO9H7M38 告别DeepSeek卡顿,探索火山引擎DeepSeek-R1的丝滑之旅 在A…...
Vulnhub-node靶机教学
本篇文章旨在为网络安全渗透测试靶机教学。通过阅读本文,读者将能够对渗透Vulnhub系列node靶机有一定的了解 一、信息收集阶段 靶机下载地址:https://www.vulnhub.com/entry/node-1,252 因为靶机为本地部署虚拟机网段,查看dhcp地址池设置。得…...
php处理图片出现内存溢出(Allowed memory size of 134217728 bytes exhausted)
错误: 最近做图片上传功能时发现上传某些图片时报内存溢出错误。如下所示: {"code": 0,"msg": "Allowed memory size of 134217728 bytes exhausted (tried to allocate 24576 bytes)","data": {"code&q…...
网络IP跳动问题解决详
一、问题原因分析 DHCP服务器配置问题: DHCP服务器租期设置过短。 DHCP地址池范围过小,导致地址耗尽。 网络中可能存在多个DHCP服务器,导致IP分配冲突。 网络中存在IP地址冲突: 手动配置的IP地址与DHCP分配的地址冲突。 网络中存在未经授权的DHCP服…...
Linux firewalld 常用命令
本文参考RedHat官网文章How to configure a firewall on Linux with firewalld。 Firewalld 是守护进程名,对应命令为firewall-cmd。帮助详见以下命令: $ firewall-cmd --helpUsage: firewall-cmd [OPTIONS...]General Options-h, --help Pr…...
LeetCode 热题 100 49. 字母异位词分组
LeetCode 热题 100 | 49. 字母异位词分组 大家好,今天我们来解决一道经典的算法题——字母异位词分组。这道题在LeetCode上被标记为中等难度,要求我们将字母异位词组合在一起。下面我将详细讲解解题思路,并附上Python代码实现。 问题描述 给…...
从 DeepSeek 到飞算 JavaAI:AI 开发工具如何重塑技术生态?
在科技飞速发展的当下,AI 开发工具正以前所未有的态势重塑技术生态。从备受瞩目的 DeepSeek 到崭露头角的飞算 JavaAI,它们在不同维度上推动着软件开发领域的变革,深刻影响着开发者的工作方式与行业发展走向。 DeepSeek:AI 开发领…...
OceanBase 初探学习历程之二——操作系统参数最佳实践
本文章分享OB操作系统参数最佳实践值,相关参数部分来自PK项目得知,仅供参考,实际参数设置仍需结合现有设备条件及业务系统特点是否有必要如此设置,但我任务大部分场景均可用(仅本人个人观点)。 1、磁盘配置…...
全面指南:使用JMeter进行性能压测与性能优化(中间件压测、数据库压测、分布式集群压测、调优)
目录 一、性能测试的指标 1、并发量 2、响应时间 3、错误率 4、吞吐量 5、资源使用率 二、压测全流程 三、其他注意点 1、并发和吞吐量的关系 2、并发和线程的关系 四、调优及分布式集群压测(待仔细学习) 1.线程数量超过单机承载能力时的解决…...
《机器学习实战》专栏 No12:项目实战—端到端的机器学习项目Kaggle糖尿病预测
《机器学习实战》专栏 第12集:项目实战——端到端的机器学习项目Kaggle糖尿病预测 本集为专栏最后一集,本专栏的特点是短平快,聚焦重点,不长篇大论纠缠于理论,而是在介绍基础理论框架基础上,快速切入实战项…...
【vue项目中如何实现一段文字跑马灯效果】
在Vue项目中实现一段文字跑马灯效果,可以通过多种方式实现,以下是几种常见的方法: 方法一:使用CSS动画和Vue数据绑定 这种方法通过CSS动画实现文字的滚动效果,并结合Vue的数据绑定动态更新文本内容。 步骤ÿ…...
DeepSeek 细节之 MLA (Multi-head Latent Attention)
DeepSeek 系统模型的基本架构仍然基于Transformer框架,为了实现高效推理和经济高效的训练,DeepSeek 还采用了MLA(多头潜在注意力)。 MHA(多头注意力)通过多个注意力头并行工作捕捉序列特征,但面临高计算成本…...
Python爬虫具体是如何解析商品信息的?
在使用Python爬虫解析亚马逊商品信息时,通常会结合requests库和BeautifulSoup库来实现。requests用于发送HTTP请求并获取网页内容,而BeautifulSoup则用于解析HTML页面并提取所需数据。以下是具体的解析过程,以按关键字搜索亚马逊商品为例。 …...
lerobot调试记录
这里写自定义目录标题 libtiff.so undefined symbol libtiff.so undefined symbol anaconda3/envs/lerobot3/lib/python3.10/site-packages/../.././libtiff.so.6: undefined symbol: jpeg12_write_raw_data, version LIBJPEG_8.01.安装库 conda install -c conda-forge jpeg …...
【Word转PDF】在线Doc/Docx转换为PDF格式 免费在线转换 功能强大好用
在日常办公和学习中,将Word文档转换为PDF格式的需求非常普遍。无论是制作简历、撰写报告还是分享文件,都需要确保文档格式在不同设备上保持一致。而小白工具的“Word转PDF”功能正是为此需求量身打造的一款高效解决方案。 【Word转PDF】在线Doc/Docx转换…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...
