ContainerRuntime 负责容器的整个生命周期。 k8s 1.5之后,k8s通过CRI(容器运行时接口)对接“容器运行时”
为何弃用docker docker使用的容器运行时containerd。本身是符合CRI标准的。 之前: k8s-> dockershim(k8s维护)-> docker-> containerd -> oci -> container*n 之后: k8s -> cri-c -> containerd -> oci -> container*n
命令对比:
ctr |
crictl |
docker | |
命令介绍 |
c..d本身的cli,单机版 |
k8s社区定义的cli,集群版,用于调试和排错。 |
docker提供的,单机版 |
命名空间 |
默认ns是default |
默认k8s.io ,不支持指定 |
无ns |
镜像显示 |
ctr -n k8s.io images ls ctr -n k8s.io images ls | awk '{print $1,$3,$4,$5}' | grep -v @ | grep / | wc -l |
crictl images ls |
docker images |
|
|||
镜像下载 |
ctr -n k8s.io images pull docker.io/library/nginx:alpine 要写绝对路径 |
crictl pull nginx:alpine 下载格式和docker一样,但是没有进度条显示 |
docker pull pull nginx:alpine |
镜像挂载 |
ctr -n k8s.io image mount docker.io/library/nginx:alpine /mnt umont /mnt |
||
镜像删除 镜像导出 |
ctr i rm docker.io/library/nginx:alpine ctr i export nginx.img docker.io/library/nginx:alpine |
docker rmi nginx:alpine | |
容器显示 | ctr -n k8s.io c ls | docker ps |