1-2 containerd的安装与使用

前言

containerd是从docker中分离出来的一个项目。作为一个底层容器运行时,使用containerd不仅性能提高了(调用链变短了),而且资源占用也会变小。因此它成了Kubernete容器运行时更好的选择。本文将介绍containerd的安装与使用。



本机使用Ubuntu 20.04对containerd进行安装:

root@ubuntu:~# cat /etc/issue
Ubuntu 20.04 LTS \n \l

查看containerd有那些可用版本:

root@ubuntu:~# apt-cache madison containerd
containerd | 1.5.9-0ubuntu1~20.04.4 | http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
containerd | 1.3.3-0ubuntu2 | http://us.archive.ubuntu.com/ubuntu focal/main amd64 Packages

安装containerd,会自动下载依赖runc:

root@ubuntu:~# apt install -y containerd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  runc
The following NEW packages will be installed:
  containerd runc
0 upgraded, 2 newly installed, 0 to remove and 354 not upgraded.
Need to get 37.1 MB of archives.
After this operation, 166 MB of additional disk space will be used.
Get:1 http://security.ubuntu.com/ubuntu focal-security/main amd64 runc amd64 1.0.0~rc95-0ubuntu1~20.04.2 [4,087 kB]
Get:2 http://security.ubuntu.com/ubuntu focal-security/main amd64 containerd amd64 1.5.9-0ubuntu1~20.04.4 [33.0 MB]                                                             
Fetched 37.1 MB in 3min 0s (206 kB/s)                                                                                                                                           
Selecting previously unselected package runc.
(Reading database ... 180949 files and directories currently installed.)
Preparing to unpack .../runc_1.0.0~rc95-0ubuntu1~20.04.2_amd64.deb ...
Unpacking runc (1.0.0~rc95-0ubuntu1~20.04.2) ...
Selecting previously unselected package containerd.
Preparing to unpack .../containerd_1.5.9-0ubuntu1~20.04.4_amd64.deb ...
Unpacking containerd (1.5.9-0ubuntu1~20.04.4) ...
Setting up runc (1.0.0~rc95-0ubuntu1~20.04.2) ...
Setting up containerd (1.5.9-0ubuntu1~20.04.4) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
Processing triggers for man-db (2.9.1-1) ...

查看containerd与runc的版本号:

root@ubuntu:~# containerd -v
containerd github.com/containerd/containerd 1.5.9-0ubuntu1~20.04.4 
root@ubuntu:~# 
root@ubuntu:~# runc -v
runc version 1.0.0~rc95-0ubuntu1~20.04.2
spec: 1.0.2-dev
go: go1.13.8
libseccomp: 2.4.3

使用默认配置信息,输出到config.toml配置文件:

root@ubuntu:~# mkdir /etc/containerd/
root@ubuntu:~# containerd config default > /etc/containerd/config.toml

重新启动containerd服务:

root@ubuntu:~# systemctl status containerd.service 

下载功能完善的命令行工具nerdctl,并解压复制到bin目录:

root@ubuntu:~# wget https://github.com/containerd/nerdctl/releases/download/v0.18.0/nerdctl-0.18.0-linux-amd64.tar.gz
root@ubuntu:~# tar zxvf nerdctl-0.18.0-linux-amd64.tar.gz
root@ubuntu:~# cp nerdctl /usr/local/bin/
root@ubuntu:~# nerdctl -v
nerdctl version 0.18.0

下载网络插件cni,解压到指定目录。可用于容器端口映射:

root@ubuntu:~# wget https://github.com/containernetworking/plugins/releases/download/v1.1.1/cni-plugins-linux-amd64-v1.1.1.tgz
root@ubuntu:~# mkdir -p /opt/cni/bin
root@ubuntu:~# tar zxvf cni-plugins-linux-amd64-v1.1.1.tgz -C /opt/cni/bin
root@ubuntu:~# ls /opt/cni/bin/
bandwidth  bridge  dhcp  firewall  host-device  host-local  ipvlan  loopback  macvlan  portmap  ptp  sbr  static  tuning  vlan  vrf

启动nginx容器,该命令跟docker一致:

root@ubuntu:~# nerdctl run -d -p 80:80 --name=nginx-web1 --restart=always nginx
root@ubuntu:~# nerdctl ps
CONTAINER ID    IMAGE                             COMMAND                   CREATED          STATUS    PORTS                 NAMES
1f9fc657b4ec    docker.io/library/nginx:latest    "/docker-entrypoint.…"    9 seconds ago    Up        0.0.0.0:80->80/tcp    nginx-web1 

检测nginx容器是否运行正常:

root@ubuntu:~# curl 127.0.0.1:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值