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

Containerd 简介、安装与使用指南

1. Containerd 简介

Containerd 是一个开源的容器运行时,专注于管理容器的生命周期。它最初是 Docker 的一部分,后来被分离出来成为一个独立的项目,并成为 Kubernetes 和其他容器平台的底层运行时。Containerd 提供了容器的创建、启动、停止、删除等核心功能,同时支持镜像的拉取和管理。

Containerd 的设计目标是轻量、高效且易于集成,它通过标准的 CRI(Container Runtime Interface)与 Kubernetes 等编排工具无缝对接。相比于 Docker,Containerd 更加专注于核心功能,适合需要更高定制化的场景。


2. Containerd 安装教程

2.1 环境准备

  • 操作系统:Linux(推荐 Ubuntu 20.04 或 CentOS 7/8)

  • 内核版本:4.x 或更高

  • 用户权限:root 或具有 sudo 权限的用户

2.2 安装 Containerd

2.2.1 使用包管理器安装(推荐)

Ubuntu/Debian:

  1. 更新软件包列表:

    sudo apt-get update

  2. 安装依赖:

    sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

  3. 添加 Docker 官方 GPG 密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

  4. 添加 Docker 仓库:

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  5. 安装 Containerd:

    sudo apt-get update

    sudo apt-get install -y containerd.io

CentOS/RHEL:

  1. 安装依赖:

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

  2. 添加 Docker 仓库:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  3. 安装 Containerd:

    sudo yum install -y containerd.io

2.2.2 手动安装(适用于高级用户)
  1. 下载 Containerd 二进制文件:

    wget https://github.com/containerd/containerd/releases/download/v1.6.0/containerd-1.6.0-linux-amd64.tar.gz

  2. 解压文件:

    tar -C /usr/local -xzf containerd-1.6.0-linux-amd64.tar.gz

  3. 创建 systemd 服务文件:

    sudo vi /etc/systemd/system/containerd.service

    内容如下:

    [Unit]
    Description=containerd container runtime
    Documentation=https://containerd.io
    After=network.target
    
    [Service]
    ExecStart=/usr/local/bin/containerd
    Restart=always
    RestartSec=5
    Delegate=yes
    KillMode=process
    
    [Install]
    WantedBy=multi-user.target
  4. 启动并启用 Containerd:

    sudo systemctl daemon-reload

    sudo systemctl enable --now containerd


3. Containerd 使用方法

3.1 配置 Containerd

Containerd 的配置文件通常位于 /etc/containerd/config.toml。您可以根据需要修改配置文件,例如调整日志级别、存储路径等。

生成默认配置文件:

sudo mkdir -p /etc/containerd

containerd config default | sudo tee /etc/containerd/config.toml

重启 Containerd 以应用配置:

sudo systemctl restart containerd

3.2 使用 Containerd 管理容器

3.2.1 拉取镜像

使用 ctr 命令拉取镜像:

sudo ctr images pull docker.io/library/nginx:latest

3.2.2 运行容器

运行一个容器:

sudo ctr run -d --rm docker.io/library/nginx:latest nginx-container

3.2.3 查看容器

列出所有容器:

sudo ctr containers list

3.2.4 停止容器

停止容器:

sudo ctr tasks kill nginx-container

3.2.5 删除容器

删除容器:

sudo ctr containers delete nginx-container

3.3 使用 nerdctl 增强 Containerd 功能

nerdctl 是一个兼容 Docker CLI 的工具,专为 Containerd 设计,提供了更友好的用户体验。

  1. 安装 nerdctl

    wget https://github.com/containerd/nerdctl/releases/download/v0.20.0/nerdctl-0.20.0-linux-amd64.tar.gz

    tar -C /usr/local/bin -xzf nerdctl-0.20.0-linux-amd64.tar.gz

  2. 使用 nerdctl 管理容器:

    sudo nerdctl run -d --name nginx-container nginx:latest

    sudo nerdctl ps


4. 总结

Containerd 是一个强大且轻量级的容器运行时,适合需要高性能和定制化的场景。

相关文章:

  • Lineageos 22.1(Android 15) 编译隐藏API的 android.jar
  • DeepSeek 开放平台无法充值 改用其他平台API调用DeepSeek-chat模型方法
  • 代码随想录D50-51 图论 Python
  • AT_dp_u Grouping 题解
  • 猿大师办公助手:高效、安全、兼容的WebOffice在线办公解决方案
  • 【数据分享】1929-2024年全球站点的逐年降雪深度数据(Shp\Excel\免费获取)
  • 项目管理十大领域是哪些
  • IMX6ULL的公板的以太网控制器(MAC)与物理层芯片(PHY)连接的原理图分析(包含各引脚说明以及工作原理)
  • 最新Apache Hudi 1.0.1源码编译详细教程以及常见问题处理
  • 基于 Python 和 Django 的北极星招聘数据可视化系统(附源码,部署)
  • 什么是Scaling Laws(缩放定律);DeepSeek的Scaling Laws
  • C语言全局变量 environ
  • DeepSeek V3模型+Obsidian搭建个人知识库
  • 0078.基于jfinal+jsp的高考志愿填报辅助系统+论文
  • C++ | 智能指针
  • spring boot对接clerk 实现用户信息获取
  • 【附带脚本】解决notion加载慢问题
  • AcWing中01背包问题
  • xTaskGetCurrentTaskHandle()函数使用
  • 数据结构与算法-动态规划-单调队列优化(最大子序列和,旅行问题,烽火传递,绿色通道,修建草坪)
  • 免费可商用的素材网站/网站优化公司认准乐云seo
  • wordpress 导入文章/如何做优化排名
  • 网站源码程序/关键词检索
  • 免费做头像网站有哪些/新闻头条最新消息今天发布
  • android 移动网站开发/电脑优化工具
  • 在线网站/搜索引擎优化的概念是什么