以诺书博客

Containerd+nerdctl容器安装Centos并使用

比Docker更简单更高效的容器方式

containerd是Docker的底层,使用nerdctl(containerd非核心子项目)可以实现95%兼容Docker的容器管理,相较于Docker更为简洁高效,且安装简单

1.0 使用 uname -a 确认linux版本>4.x,否则很多镜像无法安装,实测腾*云的centos8.4甚至是linux2.x

本教程仅测试了Amd64下的Centos8.3 Centos8.4

1.1.安装nerdctl+containerd(以下所有代码请将linux-amd64替换为实际架构)

#国内使用(不保证可用性)wget http://orange.woc.asia:9099/nerdctl/nerdctl-full-0.16.0-linux-amd64.tar.gz
wget https://github.com/containerd/nerdctl/releases/download/v0.16.0/nerdctl-full-0.16.0-linux-amd64.tar.gz
tar -zxvf nerdctl-full-0.16.0-linux-amd64.tar.gz
mv bin/* /usr/local/bin/
mv lib/* /usr/local/lib/
mv libexec/* /usr/local/libexec/
mv share/* /usr/local/share/

1.2.下载网络管理插件

#国内使用(不保证可用性)wget http://orange.woc.asia:9099/cni-plugin/cni-plugin-flannel-linux-amd64-v1.0.1.tgz
wget https://github.com/flannel-io/cni-plugin/releases/download/v1.0.1/cni-plugin-flannel-linux-amd64-v1.0.1.tgz
tar -zxvf cni-plugin-flannel-linux-amd64-v1.0.1.tgz
mkdir -p /opt/cni/bin/
cp flannel-* /opt/cni/bin/
cp /opt/cni/bin/flannel-amd64 /opt/cni/bin/flannel

1.3.启用网桥(centos8.3需要)

echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf
modprobe br_netfilter
sysctl -p

2.启动服务(仅限使用systemctl)

cp /usr/local/lib/systemd/system/*.service /etc/systemd/system/

systemctl enable buildkit containerd

systemctl start buildkit containerd

3.nerdctl pull Centos(国内镜像)

nerdctl pull daocloud.io/library/centos:latest

4.启动容器

持久后台运行

nerdctl run -d --privileged --name=【改为容器名】 --restart=always -p 外网端口:内网端口 daocloud.io/library/centos /usr/sbin/init

或前台持久运行(通过nohup、systemctl管理)

nerdctl run -i --privileged --name=【改为容器名】 --restart=always -p 外网端口:内网端口 daocloud.io/library/centos /usr/sbin/init

注:和docker一样如需使用systemctl必须加入--privileged和/usr/sbin/init

5.进入容器

nerdctl exec -it 【改为容器名】 bash

使用 exit / ctrl+d 退出容器

常用命令

nerdctl ps -a 查看容器
nerdctl rm 【容器id】 删除容器
nerdctl version 查看版本

其余命令基本与docker兼容,可参考菜鸟教程或github,两者镜像通用,国内可使用daocloud的加速镜像服务。

性能对比

已经看完啦~!

还想看更多奇怪的东西吗?

Enoch's Blog
以诺书博客
版权声明

若无特殊原作者著名,博客内文章均为本博客独家享有版权,如需转载,请联系我们并在获得许可后标明原作者和本博客网址。
本博客非商业用途,无商业内容信息。