- CNI网络
| 对比项 | docker | containerd |
|---|---|---|
| 谁负责调用CNI | kubelet内部的docker-shim | containerd内置的cri-plugin(containerd 1.1以后) |
| 如何配置CNI | kubelet参数 --cni-bin-dir 和 --cni-conf-dir | containerd配置文件(toml):plugins.cri.cni bin_dir = “/opt/cni/bin” conf_dir = “/etc/cni/net.d” |
- 命令对比
containerd不支持docker API和docker CLI, 但是可以通过cri-tool实现类似的功能。
| 镜像相关功能 | docker | containerd |
|---|---|---|
| 显示本地镜像列表 | docker images | crictl images |
| 下载镜像 | docker pull | crictl pull |
| 上传镜像 | docker push | 无 |
| 删除本地镜像 | docker rmi | crictl rmi |
| 查看镜像详情 | docker inspect | crictl inspecti |
| 容器相关功能 | docker | containerd |
|---|---|---|
| 显示容器列表 | docker ps | crictl ps |
| 创建容器 | docker create | crictl create |
| 启动容器 | docker start | crictl start |
| 停止容器 | docker stop | crictl stop |
| 删除容器 | docker rm | crictl rm |
| 查看容器详情 | docker inspect | crictl inspect |
| attach | docker attach | crictl attach |
| exec | docker exec | crictl exec |
| logs | docker logs | crictl logs |
| stats | docker stats | crictl stats |
| POD相关功能 | docker | containerd |
|---|---|---|
| 显示POD列表 | 无 | crictl pods |
| 查看POD详情 | 无 | crictl inspectp |
| 运行POD | 无 | crictl runp |
| 停止POD | 无 | crictl stopp |
拓展阅读
接下来就是crictl的的常见命令,其中能完全替代docker命令的参照下列表格

crictl对容器生命周期的管理基本已经覆盖,不过在crictl我们不能完成操作也比较多,比如对镜像的管理就不属于它的管理范围。这部分还得依靠ctr来实现,操作方式同样可以参照下表











