本文最后更新于 2025-10-16,文章内容可能已经过时。

一、常用操作的对应命令

DockerContainerdctr)和Kubernetescrictlkubectl)中常用操作的对应命令

操作DockerContainerd (ctr)Kubernetes (crictl)Kubernetes (kubectl)
查看运行的容器docker psctr task ls / ctr container lscrictl pskubectl get pods
查看所有容器(包括停止的)docker ps -actr container lscrictl ps -akubectl get pods --show-all
查看镜像docker imagesctr image lscrictl images-
查看容器日志docker logsctr task logscrictl logskubectl logs
查看容器详情docker inspectctr container infocrictl inspectkubectl describe pod
查看容器资源使用情况docker stats-crictl statskubectl top pod
启动已有的容器docker startctr task startcrictl start-
停止运行的容器docker stopctr task killcrictl stopkubectl delete pod
运行一个新的容器docker runctr run-kubectl run
创建一个新的容器docker createctr container createcrictl createkubectl create -f .yaml
删除容器docker rmctr container rmcrictl rmkubectl delete pod
拉取镜像docker pullctr image pullcrictl pull-
推送镜像到仓库docker pushctr image push--
删除本地镜像docker rmictr image rmcrictl rmi-
给镜像打标签docker tagctr image tag--
在容器中执行命令docker execctr task execcrictl execkubectl exec
导入镜像docker loadctr image import--
导出镜像docker savectr image export--
构建镜像docker build--kubectl apply -f .yaml (需配合工具)
查看容器进程信息docker top---
查看节点信息---kubectl get nodes
查看服务---kubectl get services
查看事件---kubectl get events
查看存储卷(PVC/PV)---kubectl get pvc/pv
查看命名空间---kubectl get namespaces
切换上下文---kubectl config use-context
查看配置---kubectl config view
权限检查---kubectl auth can-i
查看资源文档---kubectl explain
跨命名空间操作----n 或 --all-namespaces
获取详细输出格式---o wide/yaml/json-o wide/yaml/json

二、关键补充说明

  1. Containerd 的 ctr 命令
    • ctr task:管理容器的运行时任务(如启动、停止)。
    • ctr container:管理容器的生命周期(如创建、删除)。
    • ctr image:管理镜像(拉取、推送、删除等)。
  2. crictl 命令
    • crictl ps:列出运行中的容器(类似 docker ps)。
    • crictl images:查看镜像列表。
    • crictl logs:查看容器日志(需指定容器 ID)。
  3. kubectl 命令
    • kubectl get pods:默认仅显示默认命名空间下的 Pod,需用 -n <namespace> 指定其他命名空间。
    • kubectl top:依赖 Metrics Server,需先部署。
    • kubectl run:直接创建 Pod(通常用于临时调试)。
    • kubectl auth can-i:检查当前用户权限。
  4. 注意事项
    • Kubernetes 中的镜像操作:Kubernetes 本身不直接管理镜像(如拉取、推送),需通过 Docker CLI 或 ctr 操作。
    • 构建镜像:Kubernetes 通常依赖外部工具(如 Kaniko、BuildKit)进行镜像构建,而非原生支持 docker build
    • crictl 的限制crictl 是 Kubernetes CRI(容器运行时接口)的调试工具,功能上不如 Docker 或 ctr 灵活。