containerd容器命令

阴宏爽
2023-12-01

1.containerd的概述

名字:ctr (containerd CLI)

用法:CTR [global options] command [command options] [arguments…]

描述:CTR是一个不受支持的用于交互的调试和管理客户机使用容器守护进程。因为它不受支持,选项和操作不能保证向后兼容或容器项目从一个版本到另一个版本都是稳定的

注:如果没有指定默认名称空间的话,则要 (-n 名称空间)

命令说明操作示例
plugins, plugin提供关于容器插件的信息ctr images list
version打印客户端和服务器的版本ctr version
containers, c, container管理容器ctr containers list
content管理内容ctr content list
events, event事件显示容器事件ctr events
images, image, i管理镜像查看:ctr i list
leases管理租赁ctr leases
namespaces, namespace, ns管理命名空间ctr namespaces list
pprof为containerd提供golang Pprof输出
run运行容器
snapshots, snapshot管理快照
tasks, t, task管理任务ctr -n k8s.io tasks list kill -a -s 9 {id}
install安装一个新的包
ociOCI tools
shim与shim直接交互
help, h帮助

全局选择

options说明
--debug打开日志的调试输出
--address value, -a valuecontainerd的GRPC服务器地址(默认:"/run/k3s/containerd/containerd.sock") [$CONTAINERD_ADDRESS]
--timeout valueCTR命令的总超时时间(默认值:0)
--connect-timeout value连接到容器的超时时间(默认值:0)
--namespace value, -n value命名空间与命令一起使用(默认:"k8s.io") [$CONTAINERD_NAMESPACE]
--help, -h帮助
--version, -v打印版本

2.ctr日常操作示例

操作示例

# 查看镜像
~]# ctr images list 或  ctr i ls
# 如没有指定名称空间则需指定
~]# ctr namespaces list  或 ctr ns list
NAME   LABELS 
k8s.io
~]# ctr -n k8s.io images list
​
# 镜像标记
~]# ctr -n k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
​
# 删除镜像
~]# ctr -n k8s.io images rm k8s.gcr.io/pause:3.2
​
# 拉取镜像
~]# ctr -n k8s.io images pull -k k8s.gcr.io/pause:3.2
​
# 导出镜像
~]# ctr -n k8s.io images export pause.tar k8s.gcr.io/pause:3.2
​
# 导入镜像;不支持 build,commit 镜像
~]# ctr -n k8s.io i import pause.tar
​
# 运行容器
~]# ctr -n k8s.io run --null-io --net-host -d –env PASSWORD=$drone_password –mount type=bind,src=/etc,dst=/host-etc,options=rbind:rw –mount type=bind,src=/root/.kube,dst=/root/.kube,options=rbind:rw $image sysreport bash /sysreport/run.sh
​
–null-io: 将容器内标准输出重定向到/dev/null
–net-host: 主机网络
-d: 当task执行后就进行下一步shell命令,如没有选项,则会等待用户输入,并定向到容器内
​
# 查看容器
~]# ctr containers list 或 ctr c ls
# 如没有指定名称空间则需指定
~]# ctr -n k8s.io c ls
​
# 先找出容器然后搜索容器名
~]# ctr -n k8s.io c ls 
CONTAINER      IMAGE                     RUNTIME 
06.....86      pause:3.2              io.containerd.runc.v2
# 找出容器名
~]# ctr -n k8s.io tasks list 
# 停止容器 
~]# kill -a -s 9 {id}
 类似资料: