御风而翔  
个人云笔记
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,集群版,用于调试和排错。
提供了对pod,容器和镜像等资源的管理命令。

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
posted on 2023-06-21 23:24  个人记录  阅读(75)  评论(0编辑  收藏  举报