一、基本概念
ctr 是 containerd 的命令行工具,用于与 containerd 守护进程交互,管理容器、镜像、任务等资源。containerd 支持命名空间(namespace)的概念,每个命名空间中的镜像和容器资源是隔离的。默认情况下,操作的是 default 命名空间,而 Kubernetes 集群中的资源通常位于 k8s.io 命名空间
二、常用命令
1. 镜像管理
拉取镜像:
# 从镜像仓库拉取指定镜像 ctr -n <namespace> image pull <image-name> ctr -n k8s.io image pull k8s.gcr.io/pause:3.2查看镜像列表:
# 列出指定命名空间中的所有镜像 ctr -n <namespace> image list ctr -n k8s.io image list删除镜像:
# 删除指定命名空间中的镜像 ctr -n <namespace> image rm <image-name> ctr -n k8s.io image rm k8s.gcr.io/pause:3.2镜像标记(Tag):
# 为镜像添加新的标签 ctr -n <namespace> image tag <old-image> <new-image> ctr -n k8s.io image tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2推送镜像:
# 将镜像推送到镜像仓库 ctr -n <namespace> image push <image-name> ctr -n k8s.io image push k8s.gcr.io/pause:3.2导出镜像:
# 将镜像导出为 tar 文件 ctr -n <namespace> image export <image-name> <output-file> ctr -n k8s.io image export k8s.gcr.io/pause:3.2 pause.tar导入镜像:
bash复制
# 从 tar 文件导入镜像 ctr -n <namespace> image import <image-file> ctr -n k8s.io image import pause.tar
2. 容器管理
创建容器:
ctr -n <namespace> container create --image <image-name> <container-name>示例:
ctr -n k8s.io container create --image k8s.gcr.io/pause:3.2 my-pause运行容器:
ctr -n <namespace> task start <container-id>示例:
ctr -n k8s.io task start my-pause停止容器:
ctr -n <namespace> task kill <container-id>示例:
ctr -n k8s.io task kill my-pause删除容器:
ctr -n <namespace> container rm <container-id>示例:
ctr -n k8s.io container rm my-pause查看容器列表:
ctr -n <namespace> container list示例:
ctr -n k8s.io container list查看容器日志:
ctr -n <namespace> task logs <container-id>示例:
ctr -n k8s.io task logs my-pause
3. 命名空间管理
查看命名空间:
ctr namespace list切换命名空间:
ctr -n <namespace> <command>示例:
ctr -n k8s.io container list
三、命令比较
ctr 与其他容器工具的命令对比:
评论区