当前位置: 首页 > 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/a/304288.html

相关文章:

  • 【Java-tesseract】OCR图片文本识别
  • 【RabbitMQ的死信队列】
  • 【ES6复习笔记】Spread 扩展运算符(8)
  • USB 状态机及状态转换
  • 【JavaEE】Spring Web MVC
  • 聊一聊 C#前台线程 如何阻塞程序退出
  • 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的区别,别再傻傻分不清楚了!
  • 多模态学习