Docker、ctr、crictl 命令简介与使用

Docker 命令简介与使用

Docker 是目前最流行的容器化平台之一,提供了一套完整的工具链用于构建、运行和管理容器。其核心命令 docker 是与 Docker 守护进程交互的主要方式。

常用命令:

  • docker run [OPTIONS] IMAGE [COMMAND]:创建并启动一个容器。例如:

    docker run -d --name my_nginx nginx
    
  • docker ps [OPTIONS]:列出正在运行的容器。添加 -a 选项可查看所有容器:

    docker ps -a
    
  • docker images:列出本地镜像:

    docker images
    
  • docker pull IMAGE[:TAG]:从仓库拉取镜像:

    docker pull ubuntu:20.04
    
  • docker exec [OPTIONS] CONTAINER COMMAND:在运行中的容器内执行命令:

    docker exec -it my_nginx bash
    
  • docker logs [OPTIONS] CONTAINER:查看容器日志:

    docker logs my_nginx
    
ctr 命令简介与使用

ctr 是 containerd 的客户端工具,containerd 是 Docker 的底层容器运行时。ctr 提供了更低级别的容器管理功能,适用于高级用户或调试场景。

常用命令:

  • ctr images ls:列出本地镜像:

    ctr images ls
    
  • ctr images pull [OPTIONS] IMAGE:拉取镜像:

    ctr images pull docker.io/library/nginx:latest
    
  • ctr containers ls:列出容器:

    ctr containers ls
    
  • ctr run [OPTIONS] IMAGE CONTAINER_ID:运行容器:

    ctr run -d docker.io/library/nginx:latest nginx
    
  • ctr tasks ls:列出运行中的任务:

    ctr tasks ls
    
crictl 命令简介与使用

crictl 是 Kubernetes 容器运行时接口(CRI)的客户端工具,主要用于调试和管理 Kubernetes 集群中的容器和镜像。

常用命令:

  • crictl images:列出镜像:

    crictl images
    
  • crictl pull IMAGE:拉取镜像:

    crictl pull nginx:latest
    
  • crictl ps:列出容器:

    crictl ps
    
  • crictl exec [OPTIONS] CONTAINER COMMAND:在容器内执行命令:

    crictl exec -i -t CONTAINER_ID bash
    
  • crictl inspect CONTAINER:查看容器详细信息:

    crictl inspect CONTAINER_ID
    
对比与适用场景
  • Docker:适合开发者日常使用,提供完整的容器生命周期管理功能,接口友好。
  • ctr:适合需要直接与 containerd 交互的高级用户或调试场景。
  • crictl:专为 Kubernetes 设计,适合在 Kubernetes 环境中调试容器和镜像。
总结

Docker、ctr 和 crictl 各有侧重,适用于不同场景。开发者可以根据实际需求选择合适的工具。

更多推荐