文章目录

  • containerd简介
  • 安装
    • 下载安装包
    • 准备contained.service文件
    • 准备配置文件
    • 部署runc
    • 测试
  • containerd命令行工具
    • 安装nerdctl
    • 安装cni
    • 使用nerdct下载镜像启动容器

containerd简介

containerd是一个标准的容器运行时,它强调简单性、健壮性和可移植性,containerd主要可以实现以下功能:

  • 容器生命周期管理(从创建到删除)
  • 容器镜像pull和push
  • 存储管理(管理镜像和容器数据的存储)
  • 管理容器网络接口及网络
  • 与容器运行时进行交互(比如调用runc运行容器)

containerd的目的并不是面向最终用户,而是为了集成到更上层的系统中,例如Swarm、Kubernetes、Mesos等容器编排系统。

安装

下载安装包

这里采用二进制安装的方式,首先到github下载containerd的安装包:https://github.com/containerd/containerd/releases

wget https://github.com/containerd/containerd/releases/download/v1.6.6/containerd-1.6.6-linux-amd64.tar.gz
mkdir /tmp/containerd/
tar xvf containerd-1.6.6-linux-amd64.tar.gz -C /tmp/containerd/
cp /tmp/containerd/bin/* /usr/bin/
准备contained.service文件
cat /lib/systemd/system/containerd.service
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target[Service]
#uncomment to enable the experimental sbservice (sandboxed) version of containerd/cri integration
#Environment="ENABLE_CRI_SANDBOXES=sandboxed"
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerdType=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=infinity
# Comment TasksMax if your systemd version does not supports it.
# Only systemd 226 and above support this version.
TasksMax=infinity
OOMScoreAdjust=-999[Install]
WantedBy=multi-user.target
准备配置文件

containerd的默认配置文件为/etc/containerd/config.toml,可以通过下面的命令生成一个默认配置,然后配置一下镜像加速:

mkdir /etc/containerd
containerd config default > /etc/containerd/config.toml
cat /etc/containerd/config.toml #添加了镜像加速配置
153       [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
154         [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
155           endpoint=[
156             "http://docker.mirrors.ustc.edu.cn",
157             "http://hub-mirror.c.163.com"
158           ]
部署runc
wget https://github.com/opencontainers/runc/releases/download/v1.1.3/runc.amd64 -O /usr/bin/runc
chmod +x /usr/bin/runc
测试

启动服务

systemctl daemon-reload
systemctl start containerd

下载镜像启动容器

ctr images pull docker.io/library/alpine:latest
ctr run -t --net-host docker.io/library/alpine:latest test-container sh

containerd命令行工具

因为containerd提供的ctr命令比较简单,所以推荐使用nerdctl命令来代替ctr命令,nerdctl的github地址是:https://github.com/containerd/nerdctl

安装nerdctl
wget https://github.com/containerd/nerdctl/releases/download/v0.22.0/nerdctl-0.22.0-linux-amd64.tar.gz
tar xvf nerdctl-0.22.0-linux-amd64.tar.gz
cp nerdctl /usr/bin/
nerdctl version
安装cni
wget https://github.com/containernetworking/plugins/releases/download/v1.1.1/cni-plugins-linux-amd64-v1.1.1.tgz
mkdir -p /opt/cni/bin
tar xvf cni-plugins-linux-amd64-v1.1.1.tgz -C /opt/cni/bin/
使用nerdct下载镜像启动容器
nerdctl pull nginx
nerdctl run -d -p 80:80 --name nginx --restart=always nginx
nerdctl exec -it nginx sh

containerd安装和使用相关推荐

  1. containerd安装及常用命令

  2. k8s containerd集群配置安装完整踩坑教程

    完整踩坑和精简内容 k8s containerd配置 containerd安装参考 k8s安装参考 环境 两台机器 hostnamectl set-hostname master hostnamect ...

  3. 实战:centos7上containerd的安装-20211023

    目录 文章目录 目录 实验环境 实验软件 1.安装libseccomp依赖包 2.下载containerd软件包并解压 3.生成containerd 的默认配置文件config.toml 4.启动co ...

  4. Containerd 的前世今生和保姆级入门教程

    1. Containerd 的前世今生 很久以前,Docker 强势崛起,以"镜像"这个大招席卷全球,对其他容器技术进行致命的降维打击,使其毫无招架之力,就连 Google 也不例 ...

  5. Ubuntu 安装docker-engine的三种方法

    按照以下步骤一步步执行,就可以安装好docker-engine,参见官网提示 1 删除以前有过的安装 执行命令: sudo apt-get remove docker docker-engine do ...

  6. kubeadm部署K8S集群并使用containerd做容器运行时

    kubeadm部署K8S集群并使用containerd做容器运行时(内容全部实战验证有任何问题欢迎留言咨询讨论) 前言 去年12月份,当Kubernetes社区宣布1.20版本之后会逐步弃用docke ...

  7. Containerd 的前世今生和级入门教程

    https://mp.weixin.qq.com/s/DhLmd9tv88-Vbk6dwx3umg https://fuckcloudnative.io/posts/getting-started-w ...

  8. 从0开始安装k8s1.25【最新k8s版本——20220904】

    文章目录 从0开始安装k8s1.25 一.准备工作 1.安装Vmware和虚拟机CentOS 2.虚拟机CentOS环境初始化 3.安装容器运行时Containerd 二.安装kubelet kube ...

  9. docker安装后启动失败

    docker官网安装地址 Install Docker Engine on CentOS | Docker Documentation #卸载旧的版本 yum remove -y docker \ d ...

最新文章

  1. docker 核心概念整理
  2. Jupyter notebook的内核是什么?Ipython
  3. asp.net表单提交方法GET\POST
  4. dubbo源码分析(3)
  5. npm 全局安装vuecli报错_前端脚手架CLI生成模版命令工具(包括,npm包的发布,脚手架的搭建,注意事项,优化等)...
  6. Python对IP地址列表排序、对列表进行去重、IP地址与MAC地址组合的多个元组的列表排序
  7. loopback接口、router ID详解
  8. java基础--IO流之File类
  9. Java案例:按奇偶行拆分文件
  10. Codejam Qualification Round 2019
  11. dos2unix,unix2dos
  12. 在mac上制作PDF的基础教程
  13. Vc2013实战(1) 别无选择的Mfc
  14. 软件测试方法和技术知识点简摘
  15. python中index什么意思_Python中index()和seek()的用法(详解)
  16. Python开发——做一个简单的【表白墙】网站
  17. 百鸡问题扩展-N鸡问题
  18. MongoDB 文档字段增删改
  19. Java高级框架——Spring学习
  20. RTSP协议中英文对照(RFC2326,RFC7826)

热门文章

  1. JPA复合主键的使用
  2. Python爬虫:Selenium+ BeautifulSoup 爬取JS渲染的动态内容(雪球网新闻)
  3. matlab学习笔记13_3创建函数句柄
  4. 火狐正用心打造平板浏览器
  5. 数据库系统——大作业
  6. makefile 文本处理函数subst、patsubst、filter
  7. 第一次大数据学习内容
  8. 富文本编辑器(html格式)导出为word(vue实现)
  9. 《Py机器学习》-广义线性模型
  10. 国密 SM4 文件加解密