在Linux上安装Containerd

1 首先下载Containerd完整包

Containerd项目地址:https://github.com/containerd/containerd
下载containerd安装包

mkdir containerd
cd containerd
wget https://github.com/containerd/containerd/releases/download/v1.5.7/cri-containerd-cni-1.5.7-linux-amd64.tar.gz
tar -zxvf cri-containerd-cni-1.5.7-linux-amd64.tar.gz

删除不必要的文件

rm -rf path/containerd/etc/cni
rm -rf path/containerd/opt

注意一定不要删除/etc 和 /opt目录 要删除containerd文件夹下的etc/cni和opt目录
复制配置文件

cp -r path/containerd/etc /
cp -r path/containerd/opt /

创建默认配置文件

mkdir /etc/containerd
containerd config default > /etc/containerd/config.yoml

启动containerd

systemctl start containerd
systemctl enable containerd

拉取镜像
以redis为例

ctr i pull docker.io/library/redis:latest   因为默认ctr不会从docker的镜像仓库拉取.所以我们指定仓库链接
ctr run -d -t docker.io/library/redis:latest

查看运行的容器

ctr c ls  查看已创建的容器
CONTAINER    IMAGE                             RUNTIME                  
redis        docker.io/library/redis:latest    io.containerd.runc.v2
ctr t ls 查看已运行的容器
TASK     PID      STATUS    
redis    22829    RUNNING

报错异常解决
如果运行容器时报错

ctr: failed to create shim: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/default/nginx/log.json: no such file or directory): runc did not terminate successfully: exit status 127: runc: symbol lookup error: runc: undefined symbol: seccomp_api_get

解决方法如下:

wget https://github.com/seccomp/libseccomp/releases/download/v2.5.2/libseccomp-2.5.2.tar.gz
tar -zxvf libseccomp-2.5.2.tar.gz
cd libseccomp-2.5.2
./configure --prefix=/usr --disable-static
make && make install
yum -y install libseccomp libseccomp-devel
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容