使用containerd管理容器【同docker】,只用了几百行代码写的百度搜索引擎

containerd 客户端工具有 ctr 和 crictl 两个


建议使用ctl工具,方法见下面【containerd 客户端工具 nerdctl 的使用】

crictl的使用

========================================================================

  • 如果使用 crictl 命令的话需要执行

[root@vms103 ~]# crictl config runtime-endpoint unix:///var/run/containerd/containerd.sock

[root@vms103 ~]#

镜像管理


镜像查看

查看命令如下

[root@vms103 ~]# ctr i list

REF TYPE DIGEST SIZE PLATFORMS LABELS

[root@vms103 ~]#

[root@vms103 ~]# crictl images

IMAGE TAG IMAGE ID SIZE

[root@vms103 ~]#

镜像下载

  • 使用 crictl 下载镜像的命令为 crictl pull 镜像,比如下载 nginx 镜像:

[root@vms103 ~]# crictl pull docker.io/nginx

Image is up to date for

sha256:f6d0b4767a6c466c178bf718f99bea0d3742b26679081e52dbf8e0c7c4c42d74

[root@vms103 ~]#

  • (使用 ctr 下载镜像的命令是 ctr i pull 镜像名)

但是使用 ctr 命令进行查看的时候却是没有的,这是为何?

[root@vms103 ~]# ctr i list

REF TYPE DIGEST SIZE PLATFORMS LABELS

[root@vms103 ~]#

  • 因为 containerd 和 docker 相比多了命名空间的概念。当使用 crictl 命令的时候,都是在 k8s.io

这个命名空间里的,而 ctr 默认是在 default 这个命名空间里。所以当 crictl 下载镜像之后,

会自动创建一个 k8s.io,而下载的镜像就是放在 k8s.io 里的。

[root@vms103 ~]# ctr ns list

NAME LABELS

k8s.io

[root@vms103 ~]#

  • 因为 ctr 默认查看的是 default 命名空间,所以看不到下载的镜像。如果想查看其他命名空间

里的镜像需要加上-n 指定命名空间:

[root@vms103 ~]# ctr -n k8s.io i list -q

docker.io/library/nginx:latest

docker.io/library/nginx@sha256:10b8cc432d56da8b61b070f4c7d2543a9ed17c2b23010b43af434

fd40e2ca4aa

sha256:f6d0b4767a6c466c178bf718f99bea0d3742b26679081e52dbf8e0c7c4c42d74

[root@vms103 ~]#

  • 如果 ctr 想切换到其他命名空间,只需定义变量 CONTAINERD_NAMESPACE,比如:

[root@vms103 ~]# export CONTAINERD_NAMESPACE=k8s.io

[root@vms103 ~]# ctr i list -q

docker.io/library/nginx:latest

docker.io/library/nginx@sha256:10b8cc432d56da8b61

  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值