百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Containerd安装配置及基本操作 containerid

cac55 2024-12-22 14:41 23 浏览 0 评论

Containerd安装与配置详解

Containerd是一个开源的容器运行时工具,用于管理和运行容器,提供了稳定的接口来管理镜像、容器及其生命周期。它是许多容器管理平台(如Docker、Kubernetes)所依赖的核心组件。本文将详细介绍Containerd的安装、配置和基本操作步骤。


一、安装Containerd

根据操作系统的不同,安装Containerd的方法可能有所区别。以下是针对常见Linux发行版的安装步骤。

1.1 Ubuntu系统安装

首先更新包列表,并安装必要的依赖:

sudo apt-get update
sudo apt-get install -y containerd

安装完成后,Containerd的二进制文件将被安装到 /usr/bin/containerd,配置文件位于 /etc/containerd/config.toml。

1.2 CentOS系统安装

更新系统并安装EPEL(Extra Packages for Enterprise Linux)仓库:

sudo yum update -y
sudo yum install -y epel-release
sudo yum install -y containerd

此过程会下载并安装Containerd软件包及其依赖。

二、配置Containerd

在安装完成后,需要对Containerd进行配置,以确保其能够根据需求正常运行。主要的配置文件为 /etc/containerd/config.toml。

2.1 生成默认配置文件

如果 /etc/containerd/config.toml文件不存在,可以通过以下命令生成默认配置文件:

sudo containerd config default > /etc/containerd/config.toml

2.2 修改配置文件

打开配置文件进行编辑:

sudo nano /etc/containerd/config.toml

根据需求,可以调整以下几项:

  • 网络配置:Containerd默认使用CNI(Container Network Interface)来管理网络。
  • 存储驱动:可以选择不同的存储驱动,如 overlay2、btrfs等。具体配置方法在配置文件中注明。
  • 镜像存储位置:通过 [plugins."io.containerd.grpc.v1.cri".registry]来配置镜像源。

编辑完成后,保存并关闭文件。


三、启动Containerd服务

在修改完配置文件后,需要启动并启用Containerd服务,使其在系统启动时自动运行。

3.1 启动服务

使用以下命令启动Containerd:

sudo systemctl start containerd

3.2 查看服务状态

确保服务已成功启动,可以通过以下命令检查服务状态:

sudo systemctl status containerd

如果显示 active (running),则表明服务已正常运行。

3.3 设置开机启动

为了确保每次系统启动时自动运行Containerd,执行以下命令:

sudo systemctl enable containerd

四、使用Containerd管理容器

Containerd提供了 ctr命令行工具,用于管理容器的生命周期。ctr是Containerd的客户端工具,使用它可以执行容器的创建、启动、停止、删除等操作。

4.1 列出容器

要查看当前系统中所有容器,可以使用以下命令:

sudo ctr containers list

该命令会列出所有正在运行和停止的容器及其相关信息。

4.2 拉取镜像

使用 ctr工具可以从镜像仓库拉取所需的镜像。例如,拉取 nginx镜像:

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

这将从Docker Hub中下载最新版本的 nginx镜像。

4.3 创建并运行容器

创建并启动一个容器的基本命令如下:

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

在此命令中,--rm表示容器退出后将其删除,-t表示为该容器分配一个伪终端,my-nginx-container是容器名称。

4.4 停止与删除容器

要停止运行中的容器,使用以下命令:

sudo ctr task stop my-nginx-container

要删除一个已经停止的容器:

sudo ctr container delete my-nginx-container

五、配置容器运行时

Containerd支持多种容器运行时,最常用的运行时是 runc,它是Open Container Initiative (OCI) 标准的一部分,Containerd默认使用 runc。但是,Containerd还支持其他容器运行时,例如Kata Containers,用于支持轻量级虚拟机环境。

5.1 配置运行时

打开 /etc/containerd/config.toml文件,找到 [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]部分,根据需求修改运行时配置。

例如,配置 runc作为默认运行时:

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  runtime_type = "io.containerd.runc.v2"

如果需要使用其他运行时(如Kata Containers),可以在此处配置对应的参数。

5.2 保存配置并重启服务

编辑完成后,保存文件,并重新启动Containerd服务:

sudo systemctl restart containerd

六、Containerd命令总结与分析表

命令

作用

详细说明

sudo apt-get install containerd

安装Containerd

在Ubuntu系统中安装Containerd包

sudo systemctl start containerd

启动Containerd服务

启动容器管理服务

sudo systemctl status containerd

查看Containerd服务状态

显示Containerd当前运行状态

sudo ctr containers list

列出所有容器

使用Containerd客户端工具列出当前的所有容器

sudo ctr image pull

拉取镜像

从Docker Hub或其他镜像仓库拉取容器镜像

sudo ctr run

创建并运行容器

启动指定镜像的容器,并指定容器名称

sudo ctr task stop

停止容器任务

停止运行中的容器

sudo ctr container delete

删除已停止的容器

删除指定的容器

sudo containerd config default

生成默认配置文件

生成Containerd默认配置文件到指定路径

sudo nano /etc/containerd/config.toml

编辑配置文件

打开并编辑Containerd的配置文件

sudo systemctl restart containerd

重启Containerd服务

在修改配置文件后,重启服务以使更改生效


七、Containerd工作流程脑图

graph TD;
    A[安装Containerd] --> B[生成配置文件];
    B --> C[修改配置文件];
    C --> D[启动并启用服务];
    D --> E[管理容器];
    E --> F[列出容器];
    E --> G[拉取镜像];
    E --> H[创建运行容器];
    E --> I[停止删除容器];
    D --> J[配置运行时];

八、总结

Containerd作为一个轻量级、可靠的容器运行时工具,具有高度扩展性和易用性,适用于大规模容器化应用的管理。通过 ctr命令行工具,用户可以方便地管理镜像、容器和任务。此外,Containerd支持多种运行时配置,适用于不同的业务场景和环境需求。配置文件的灵活性使得Containerd在多种系统环境下都能稳定运行,满足企业对容器管理的高效需求。

在实际操作中,用户应根据自身需求调整 /etc/containerd/config.toml配置文件中的参数,选择合适的存储驱动、镜像源以及运行时,从而最大限度地发挥Containerd的性能和功能。

相关推荐

Linux :远程访问的 16 个最佳工具(一)

通过远程桌面协议(RDP)可以访问远程Linux桌面计算机,这是Microsoft开发的专有协议。它为用户提供了一个图形界面,可以通过网络连接连接到另一台/远程计算机。FreeRDP是...

Guacamole安装部署_guacamole简单搭建

Guacamole安装部署Guacamole简介Guacamole是提供连接远程桌面的解决方案的开源项目(也可以说是一个远程桌面网关),通过浏览器就能远程操作服务器,适用于Chrome、Firefox...

1-FreeRTOS入门指南_freertos+lwip

本专栏是根据官方提供的文档进行FreeRTOS的各个功能函数的说明,以及函数的使用本专栏不涉及动手操作,只是对原理进行说明,FreeRTOS基础知识篇更新完成会对如何在开发板上进行上手实战操作。这里不...

Windows暂停远程桌面,这些工具可替代

Windows暂停远程桌面,这些工具可替代近日,Windows官方宣布将于2025年5月27日起,在Windows10和Windows11应用商店中下架“Microsoft远程桌面”应用。这一消...

现在做 Web 全景合适吗?_前端全景

作者:前端藏经阁转发链接:https://www.yuque.com/xwifrr/uxqg5v/cgclx0前言Web全景在以前带宽有限的条件下常常用来作为街景和360°全景图片可查看。它可以...

网页直连,MSTSC远程控制Windows新姿势!

不用安装软件,打开浏览器就能远程办公?今天要聊的是一种颠覆传统的远程控制玩法,直接用网页连接Windows电脑,无需下载客户端,手机、平板、Mac甚至Linux都能轻松操作。这可不是吹牛,结合MSTS...

QQ出现大面积盗号,原因已查明,请抓紧改密码

你没有看错,QQ又上了微博热搜,这次比较严重了,QQ出现大面积盗号,多个QQ群出现yellow信息,其次导致多位成员被踢出,并且还被封号处理,到底怎么回事?请继续往下看。在6月26日晚上10点左...

我在淘宝花10块钱,买到了能玩“宝可梦”的Q群机器人

十一月雨|文我是个没事喜欢逛淘宝的人,虽然是个不怎么好的习惯,但总是能够发现一些奇奇怪怪的东西,这次我发现的是一种Q群机器人。Q群机器人,大多是基于腾讯SmartQQ协议实现的一种能自动回复、自定...

Metasploit最实用的攻击模块"Meterpreter"

Meterpreter命令详解Meterpreter是Metasploit渗透测试平台框架中功能最强大的攻击载荷模块,在最新的Metasploitv4.5.0版本中,攻击载荷模块已经达到了25...

手机QQ再更新,上线了一个想让人“无法回避”的新功能

近日,手机QQ更新了V8.2.6.700版本,苹果iOS版和安卓版手机QQ上线了一个新功能:可以实时显示对方的手机电量以及充电状态。开通电量显示也很简单,长按主页左上方的头像,在在线状态中选择我的电量...

「网络安全」常见攻击篇(20)——点击劫持

什么是点击劫持?点击劫持(Clickjacking)技术又称为界面伪装攻击(UIredressattack),是一种视觉上的欺骗手段。通常有两种方式:攻击者使用一个透明的iframe,覆盖...

曾利用驱动人生升级通道传播的木马下载器攻击方法再次升级

一、概述御见威胁情报中心1月25日再次监测到曾利用驱动人生升级通道传播的木马下载器攻击方法再升级。本次升级主要变化在于攻击模块,木马在之前的版本上,新增计划任务“DnsScan”,在其中将永恒之蓝攻击...

QQ飞车手游:点券首个功能性宠物上架,实战稳定触发还不快入手?

随着版本的逐渐更新,点券宠物在道具模式发挥逐渐越来越小,曾经探讨点券宠物在道具是不是真的没有用?直到出现了波斯猫改变了,我对点券宠物在道具模式的看法,如今又一个强势点券宠物来袭,而且特性触发简单,还是...

工单系统设计实战(上):核心配置与效能提升

流程的标准化并非终点,而是研发效能持续革命的基石。当工单系统真正成为研发团队的“神经中枢”,每一次需求的精准流转、每一行代码的受控提交、每一次版本的可靠发布,都将汇聚成驱动产品持续进化的强大动力...

6个编辑PDF文档内容的工具(软件+网站)

在日常办公、学习和生活中,PDF文件因其格式稳定、跨平台兼容性强等特点,被广泛应用。但有时我们拿到PDF文件后,却发现需要修改其中的内容,总感觉有点难搞。其实PDF文档编辑修改也很简单,这里分享6个软...

取消回复欢迎 发表评论: