1 首先下載Containerd完整包
Containerd項(xiàng)目地址: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
注意一定不要?jiǎng)h除/etc 和 /opt目錄 要?jiǎng)h除containerd文件夾下的etc/cni和opt目錄
復(fù)制配置文件
cp -r path/containerd/etc /
cp -r path/containerd/opt /
創(chuàng)建默認(rèn)配置文件
mkdir /etc/containerd
containerd config default > /etc/containerd/config.yoml
啟動(dòng)containerd
systemctl start containerd
systemctl enable containerd
拉取鏡像
以redis為例
ctr i pull docker.io/library/redis:latest 因?yàn)槟J(rèn)ctr不會(huì)從docker的鏡像倉(cāng)庫(kù)拉取.所以我們指定倉(cāng)庫(kù)鏈接
ctr run -d -t docker.io/library/redis:latest
查看運(yùn)行的容器
ctr c ls 查看已創(chuàng)建的容器
CONTAINER IMAGE RUNTIME
redis docker.io/library/redis:latest io.containerd.runc.v2
ctr t ls 查看已運(yùn)行的容器
TASK PID STATUS
redis 22829 RUNNING
報(bào)錯(cuò)異常解決
如果運(yùn)行容器時(shí)報(bào)錯(cuò)
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