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

Ubuntu 安装 containerd

什么是 containerd

containerd 是一个高性能、专注于容器生命周期管理的容器运行时(Container Runtime),是 Kubernetes 默认使用的容器运行时。

containerd 是 Docker 的子项目演化而来。
containerd 最初是 Docker 内部的一部分,用来负责容器的生命周期管理。
后来(2017年),Docker 公司(当时是 Docker Inc.)把 containerd 独立出来开源,交给 CNCF(Cloud Native Computing Foundation)管理,成为一个中立的社区项目。
所以,Docker 使用 containerd 作为它的底层运行核心,而 containerd 自己也可以单独运行,不依赖 Docker。

安装 containerd

1. 安装 

sudo apt update
sudo apt install -y containerd

设置开机自启动

sudo systemctl enable containerd

2. 配置 containerd 默认配置文件

先备份原来的默认配置文件

sudo cp /etc/containerd/config.toml /etc/containerd/config.toml.bak
sudo containerd config default | sudo tee /etc/containerd/config.toml > /dev/null

3. 开启 cgroup 驱动(可选,如果你使用 Kubernetes 需要设置与其一致)

编辑 /etc/containerd/config.toml 文件,将 SystemdCgroup 设置为 true

sudo vim /etc/containerd/config.toml
SystemdCgroup = true

保存后,重启 containerd

sudo systemctl restart containerd

4. 配置镜像源加速器

添加如下文件:

mkdir -p  /etc/containerd/certs.d/docker.io/
sudo vim /etc/containerd/certs.d/docker.io/hosts.toml

文件内容如下:

[host."https://dockerproxy.com"]capabilities = ["pull", "resolve"][host."https://docker.m.daocloud.io"]capabilities = ["pull", "resolve"][host."https://reg-mirror.qiniu.com"]capabilities = ["pull", "resolve"][host."https://registry.docker-cn.com"]capabilities = ["pull", "resolve"][host."http://hub-mirror.c.163.com"]capabilities = ["pull", "resolve"][host."https://docker.hpcloud.cloud"]capabilities = ["pull", "resolve"][host."https://docker.unsee.tech"]capabilities = ["pull", "resolve"][host."https://docker.1panel.live"]capabilities = ["pull", "resolve"][host."http://mirrors.ustc.edu.cn"]capabilities = ["pull", "resolve"][host."https://docker.chenby.cn"]capabilities = ["pull", "resolve"][host."http://mirror.azure.cn"]capabilities = ["pull", "resolve"][host."https://dockerpull.org"]capabilities = ["pull", "resolve"][host."https://dockerhub.icu"]capabilities = ["pull", "resolve"][host."https://hub.rat.dev"]capabilities = ["pull", "resolve"]

containerd 状态相关命令

查看 containerd 版本:containerd --version

启动服务:sudo systemctl start containerd

停止服务:sudo systemctl stop containerd

重启服务:sudo systemctl restart containerd

查看状态:sudo systemctl status containerd

设置开机自启:sudo systemctl enable containerd

禁用开机自启:sudo systemctl disable containerd

重新加载配置:sudo systemctl daemon-reload


安装 nerdctl

nerdctl 是一个命令行工具(CLI),用来管理 containerd 容器运行时,它的设计目标是尽可能兼容 Docker 的命令用法,让你可以用和 Docker 几乎一样的方式来管理容器,但底层不再依赖 dockerd,而是直接使用 containerd。

1. 安装 nerdctl

下载地址:https://github.com/containerd/nerdctl/tags

把下载的文件上传到 Ubuntu 的 /usr/local/nerdctl 目录中并解压

把 nerdctl 放在系统命令目录中

sudo mv /usr/local/nerdctl/nerdctl /usr/local/bin/
sudo chmod +x /usr/local/bin/nerdctl

2. 使用 nerdctl

测试拉取镜像

nerdctl pull nginx

拉取镜像中

nerdctl 是在 containerd 中使用 Docker 的工具

Docker 命令nerdctl 命令说明
docker runnerdctl run支持
docker pullnerdctl pull支持
docker pushnerdctl push支持
docker psnerdctl ps支持
docker imagesnerdctl images支持
docker execnerdctl exec支持
docker logsnerdctl logs支持
docker stop / startnerdctl stop / start支持
docker rm / rminerdctl rm / rmi支持
docker build✅(需 nerdctl+buildkit)需要 buildkit 支持
docker network⚠️ 部分支持仅支持 CNI 类型的网络
docker volume⚠️ 部分支持有限制
docker-compose⚠️ 需要额外工具可通过 nerdctl compose 使用,但格式和特性有限

相关文章:

  • 在线时间戳转换工具
  • chrome inspect 调试遇到的问题
  • 前端取经路——入门取经:初出师门的九个CSS修行
  • 黄金量化:高频实时的贵金属API
  • 系统思考:选择大于努力
  • Linux服务之nginx中高级配置
  • 第一节:Web3开发概述
  • 前端知识-useEffect
  • 使用 ANSYS SIwave 求解器在 ANSYS AEDT 中预测串行通道性能并生成眼图
  • Clojure是啥?
  • Protobuf的速成之旅
  • 从黔西游船侧翻事件看极端天气预警的科技防线——疾风气象大模型如何实现精准防御?
  • GD32F470+CH395Q
  • LabVIEW与 IMAQ Vision 机器视觉应用
  • 深入了解linux系统—— 进程地址空间
  • STM32的智慧农业系统开发(uC/OS-II)
  • Informer 预测模型合集:新增特征重要性分析!
  • ctfshow web入门 web49
  • Spring Boot之MCP Client开发全介绍
  • Spring AI快速入门
  • 农行原首席专家兼浙江省分行原行长冯建龙主动投案被查
  • 民生访谈|摆摊设点、公园搭帐篷、行道树飘絮,管理难题怎么解?
  • 马上评|颜宁“简历打假”的启示
  • 新疆生产建设兵团草湖项目区副主任宋全伟接受审查调查
  • 中国电信财务部总经理周响华调任华润集团总会计师
  • 德国新一届联邦政府宣誓就职