当前位置: 首页 > article >正文

ubuntu安装containerd,取代docker

最近项目需要上k8s,k8s从1.20开始弃用docker,用containerd进行取代,说一下containerd,它是从docker剥离出来的独立项目,和docker一样,同样也是容器技术,和docker相比,containerd更贴合k8s的需求资源占用更少性能更高,那么,我们也应该积极的拥抱containerd。
ubuntu 版本:我的是ubuntu 20,其实应该22更好,懒得再安装了
1. 先安装一些依赖

sudo apt install ca-certificates curl  gnupg lsb-release

2. 安装containerd.io,有些文章是用二进制包安装,但其实apt-get安装更方便,可以使用apt-cache madison containerd.io去看仓库有哪些containerd版本,这里直接安装最新版就可以了

apt install containerd.io

然后设置为开机启动

sudo systemctl start containerd
sudo systemctl enable containerd

检查安装是否成功

sudo systemctl status containerd
containerd --version

我的版本是 1.7.21
在这里插入图片描述
containerd安装成功,但这个containerd还不能构建镜像,需要安装另一个组件buildkit
3. 安装buildkit, 我的版本是v0.15.2 ,下载地址
https://github.com/moby/buildkit/releases

tar xzvf buildkit-v0.15.2.linux-amd64.tar.gz -C /usr/local/

在这里插入图片描述
4. buildkit设为系统应用,下载地址
https://github.com/moby/buildkit/tree/master/examples/systemd
一共下载2个文件:
buildkit.service, buildkit.socket
在这里插入图片描述
下载之后,

cp buildkit.socket /usr/lib/systemd/system
cp buildkit.service /usr/lib/systemd/system
systemctl daemon-reload
systemctl enable buildkit

buildkit安装之后,应该就可以愉快的使用containerd,但是我docker的命令很熟悉,但对containerd很陌生,是不是要重新学习containerd的命令吗?不需要,安装nerdctl可以兼容docker命令
5. 安装nerdctl
下载地址:https://github.com/containerd/nerdctl/releases
注意:不要选择full这个版本
在这里插入图片描述
下载之后安装

tar Cxzvf /usr/local/bin nerdctl-1.7.6-linux-amd64.tar.gz

好,现在就可以见证奇迹的时刻,正式的使用containerd无缝的取代docker

查看有什么镜像

nerdctl images

没有任何的镜像,下载个nginx镜像,就像docker下载镜像就可以了
只是docker pull 改为 nerdctl pull

nerdctl pull nginx:1.27-alpine3.20

在这里插入图片描述
再次查看镜像库,就可以看到有下载的nginx镜像了
启动nginx容器, 同样的也是docker命令语法,只是docker换成nerdctl

nerdctl run -d --name nginx -p 80:80 --network bridge a5127daff3d6

验证nginx容器是否启动成功
在这里插入图片描述
搞定,收工


http://www.kler.cn/news/304288.html

相关文章:

  • Java面试题——第七篇(Java Web)
  • Redis 篇-深入了解基于 Redis 实现消息队列(比较基于 List 实现消息队列、基于 PubSub 发布订阅模型之间的区别)
  • mfc140u.dll丢失有啥方法能够进行修复?分享几种mfc140u.dll丢失的解决办法
  • 从零实现诗词GPT大模型:实现多头自注意力
  • 灌区信息化发展趋势展望
  • 基于MATLAB的图像融合设计
  • 2024年9月中国数据库排行榜:openGauss系多点开花,根社区优势明显
  • Linux进阶命令-sortwc
  • [Web安全 网络安全]-文件上传漏洞
  • 创建者设计模式
  • 使用 React Testing Library 测试自定义 React Hooks
  • 《自然语言处理 Transformer 模型详解》
  • OpenCV GUI常用函数详解
  • uniapp媒体
  • ACE之ACE_Reactor_Notify
  • IHostedLifecycleService是如何管理后台任务的
  • linux-L3_linux 查看进程(node-red)
  • 如何防止ZIP压缩文件被随意打开?
  • union和union all的区别,别再傻傻分不清楚了!
  • 多模态学习
  • 算法练习题20——猴子选大王(模拟)
  • 【鸿蒙】HarmonyOS NEXT星河入门到实战9-组件化开发进阶应用状态管理
  • [SC]Windows VS2022下配置SystemC环境
  • web前端-HTML常用标签(三)
  • 揭秘线程安全:HashMap 的四大实用策略
  • 树莓派智能语音助手实现音乐播放
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • 海鸥相机存储卡格式化如何恢复数据
  • 工作流技术(WorkFlow)
  • 【系统规划与管理师】【案例分析】【考点】【答案篇】第5章 IT服务部署实施