containerd提供了ctr命令行
用于镜像管理容器,但功能比较简单
所以一般会用k8s提供的crictl命令。
该命令的特点是:只要符合K8S的CRI接口的,都可以使用。
另外一点就是,cricrl的命令和docker的命令大部分都很像,学习成本不会很高。
项目地址:https://github.com/kubernetes-sigs/cri-tools/
默认情况下crictl会自动检查当前容器引擎,如果你没设置指定容器引用的RPC就会有一个提示,如下:
[root@k8s-master ~]# crictl images
WARN[0000] image connect using default endpoints:
[unix:///var/run/dockershim.sock
unix:///run/containerd/containerd.sock
unix:///run/crio/crio.sock
unix:///var/run/cri-dockerd.sock
].
As the default settings are now deprecated, you should set the endpoint instead.
如果你不想每次都有上述提示,你可以设置crictl连接指定的容器引擎,如:containerd,修改/etc/crictl.yaml配置文件即可
vim /etc/crictl.yaml
# 添加以下内容:
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
镜像相关功能 | Docker | crictl |
显示本地镜像列表 | docker images | crictl images |
下载镜像 | docker pull | crictl pull |
上传镜像 | docker push | 无,例如buildk |
删除本地镜像 | docker rmi | crictl rmi |
查看镜像详情 | docker inspect |
crictl inspecti |
容器相关功能 | Docker | crictl |
显示容器列表 | docker ps | crictl ps |
创建容器 | docker create | crictl create |
启动容器 | docker start | crictl start |
停止容器 | docker stop | crictl stop |
删除容器 | docker rm | crictl rm |
查看容器详情 | docker inspect | crictl inspect |
附加容器 | docker attach | crictl attach |
执行命令 | docker exec | crictl exec |
查看日志 | docker logs | crictl logs |
查看容器资源 | docker stats | crictl stats |
POD 相关功能 | Docker | Containerd |
显示 POD 列表 | 无 | crictl pods |
查看 POD 详情 | 无 | crictl inspectp |
运行 POD | 无 | crictl runp |
停止 POD | 无 | crictl stopp |