- containerd 的安装
mkdir containerd cd containerd wget https://github.com/containerd/containerd/releases/download/v1.6.17/cri-containerd-cni-1.6.17-linux-amd64.tar.gz tar -xvf cri-containerd-cni-1.6.17-linux-amd64.tar.gz rm -rf opt rm -rf ./etc/cni # ./etc/systemd/system/containerd.service 为containerd 服务的配置文件 #将当前目录的usr 和etc 文件夹拷贝到根目录 cp -r usr / cp -r etc / #生成默认的配置文件 mkdir /etc/containerd containerd config default > /etc/containerd/config.toml vi /etc/containerd/config.toml # omm_score = 0 修改成-999 这个是守护进程不应该没有内存的时候杀死它 # 设置开机启动并且启动containerd systemctl enable containerd systemctl restart containerd systemctl status containerd
- containerd 的使用示例命令行熟悉
ctr i ls ctr i pull redis:alpine -- 这里需要写全路径docker能直接用redis:alpine是因为配置文件默认添加了docker的前缀地址 ctr i pull docker.io/library/redis:alpine ctr ns -h 命名空间查看 (docker 的命名空间是moby docker 和 containerd镜像存储的地方是两个地方 )k8s.io # 可以用-n 参数来指定命名空间查看image ctr -n default i ls
ctr -n moby i ls (查看docker的imager) du -sm /var/lib/containerd containerd 要使用docker的镜像可以 将docker 的镜像打完tag 之后推送到 镜像仓库 ,然后containerd 进行拉取。 ctr run -t -d [imgUrl] [serviceName] ctr c ls --查看容器列表 ctr t ls --查看任务列表 ctr t kill [serviceName] ctr t ls ctr t rm [serviceName] ctr c rm [serviceName] #docker 和 containerd 的运行时 本质上只是命名空间的不同 #crictl 命令 crictl 命令使用和docker命令类似 这里就不作过多赘述 crictl pods - containerd 和docker 的区别
- docker 和 containerd 的运行时 本质上只是命名空间的不同
- 使用ctr i pull 拉取镜像的时候一定要写全路径 ctr i pull docker.io/library/redis:alpine