一、命令空间
每个顶级配置块的命名都是plugin."io.containerd.xxx.xxx.xxx"
这种形式,其实每个顶级配置块都代表一个插件。
其中io.containerd.xxx.xxx
表示插件类型,xxx
后面的xxx
表示 插件ID。
通过命令ctr plugin ls
查看到
[root@ecs-65685 ~]# ctr plugin ls
TYPE ID PLATFORMS STATUS
io.containerd.content.v1 content - ok
io.containerd.snapshotter.v1 aufs linux/amd64 skip
io.containerd.snapshotter.v1 btrfs linux/amd64 skip
io.containerd.snapshotter.v1 devmapper linux/amd64 error
io.containerd.snapshotter.v1 native linux/amd64 ok
...
2 containerd相比于docker,多了namespace概念,每个image和containe都会在各自的namespace下可见。
目前k8s会使用k8s.io
作为命名空间,默认containerd会使用default
。
[root@ecs-65685 ~]# ctr ns ls
NAME LABELS
default
moby
[root@ecs-65685 ~]# ctr ns
NAME:
ctr namespaces - manage namespaces
USAGE:
ctr namespaces command [command options] [arguments...]
COMMANDS:
create, c create a new namespace
list, ls list namespaces
remove, rm remove one or more namespaces
label set and clear labels for a namespace
OPTIONS:
--help, -h show help
4 查看当前所有namespace
[root@ecs-65685 ~]# ctr ns ls
NAME LABELS
default
moby
5 创建containerd namespace,不指定namespace,默认就会使用default。
[root@ecs-65685 ~]# ctr ns create xyz
[root@ecs-65685 ~]# ctr ns ls
NAME LABELS
default
moby
xyz
# 删除命名空间
# ctr ns delete [NameSpace]
6 测试命名空间
-n xyz 下载镜像进行测试,后续在ctr -n 指定命名空间即可。
命名空间只如果不指定,默认是看不到,这点和k8s namespace作用相同。
[root@ecs-65685 ~]# ctr -n xyz i pull docker.io/library/nginx:alpine --all-platforms
...
[root@ecs-65685 ~]# ctr -n xyz i ls -q
docker.io/library/nginx:alpine
7 分别查看镜像名称
[root@ecs-65685 ~]# ctr -n default image ls -q
docker.io/library/nginx:alpine
[root@ecs-65685 ~]# ctr -n xyz image ls -q
docker.io/library/nginx:alpine
docker.io/library/redis:alpine
标签:1.6,task,ctr,Containerd,65685,ecs,io,containerd,root From: https://www.cnblogs.com/huaxiayuyi/p/16790210.html