Container 命令ctr、crictl 命令使用说明作者:

本文介绍了containerd的ctr命令和crictl命令的使用方法,包括查看和管理镜像、容器,以及日志操作。ctr提供了镜像的拉取、推送、标记、删除等操作,而crictl则用于容器的运行、检查和日志获取。此外,还对比了ctr与docker命令的差异,并展示了crictl的配置和各种管理容器的示例。
摘要由CSDN通过智能技术生成

Container 命令ctr、crictl 命令使用说明 关注Linux相关技术-系统运维-网络运维-脚本编程-容器-微服务-K8S-分布式-应用服务等 Akiraka

一、ctr 命令使用
Container命令ctr,crictl的用法
版本:ctr containerd.io 1.4.3
containerd 相比于docker , 多了namespace概念, 每个image和container 都会在各自的namespace下可见, 目前k8s会使用k8s.io 作为命名空间~~

1.1、查看ctr image可用操作
ctr image list, ctr i list , ctr i ls
COPY
1.2、镜像标记tag
ctr -n k8s.io i tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
注意: 若新镜像reference 已存在, 需要先删除新reference, 或者如下方式强制替换
ctr -n k8s.io i tag --force registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
COPY
1.3、删除镜像
ctr -n k8s.io i rm k8s.gcr.io/pause:3.2
COPY
1.4、拉取镜像
ctr -n k8s.io i pull -k k8s.gcr.io/pause:3.2
COPY
1.5、推送镜像
ctr -n k8s.io i push -k k8s.gcr.io/pause:3.2
COPY
1.6、导出镜像
ctr -n k8s.io i export pause.tar k8s.gcr.io/pause:3.2
COPY
1.7、导入镜像
# 不支持 build,commit 镜像
ctr -n k8s.io i import pause.tar
COPY
1.8、查看容器相关操作
ctr c
COPY
1.9、运行容器
–null-io: 将容器内标准输出重定向到/dev/null
–net-host: 主机网络
-d: 当task执行后就进行下一步shell命令,如没有选项,则会等待用户输入,并定向到容器内
–mount 挂载本地目录或文件到容器
–env 环境变量
ctr -n k8s.io run --null-io --net-host -d \
–env PASSWORD="123456"
–mount type=bind,src=/etc,dst=/host-etc,options=rbind:rw
COPY
1.10、容器日志
注意: 容器默认使用fifo创建日志文件, 如果不读取日志文件,会因为fifo容量导致业务运行阻塞

如要创建日志文件,建议如下方式创建:
ctr -n k8s.io run --log-uri file:///var/log/xx.log
COPY
二、ctr和docker命令比较
Containerd命令    Docker命令    描述
ctr task ls    docker ps    查看运行容器
ctr image ls    docker images    获取image信息
ctr image pull pause    docker pull pause    pull 应该pause镜像
ctr image push pause-test    docker push pause-test    改名
ctr image import pause.tar    docker load 镜像    导入本地镜像
ctr run -d pause-test pause    docker run -d --name=pause pause-test    运行容器
ctr image tag pause pause-test    docker tag pause pause-test    tag应该pause镜像
三、crictl 命令
3.1、crictl 配置
# 通过在配置文件中设置端点 --config=/etc/crictl.yaml
root@k8s-node-0001:~$ cat /etc/crictl.yaml
runtime-endpoint: unix:///run/containerd/containerd.sock
COPY
3.2、列出业务容器状态
crictl inspect ee20ec2346fc5
COPY
3.3、查看运行中容器
root@k8s-node-0001:~$ crictl pods
POD ID              CREATED             STATE               NAME                                                     NAMESPACE           ATTEMPT             RUNTIME
b39a7883a433d       10 minutes ago      Ready               canal-server-quark-b477b5d79-ql5l5                       mbz-alpha           0                   (default)
COPY
3.4、打印某个固定pod
root@k8s-node-0001:~$ crictl pods --name canal-server-quark-b477b5d79-ql5l5
POD ID              CREATED             STATE               NAME                                 NAMESPACE           ATTEMPT             RUNTIME
b39a7883a433d       12 minutes ago      Ready               canal-server-quark-b477b5d79-ql5l5   mbz-alpha           0                   (default)
COPY
3.5、打印镜像
root@k8s-node-0001:~$ crictl images
IMAGE                                                          TAG                             IMAGE ID            SIZE
ccr.ccs.tencentyun.com/koderover-public/library-docker         stable-dind                     a6e51fd179fb8       74.6MB
ccr.ccs.tencentyun.com/koderover-public/library-nginx          stable                          588bb5d559c28       51MB
ccr.ccs.tencentyun.com/koderover-public/nsqio-nsq              v1.0.0-compat                   2714222e1b39d       22MB
COPY
3.6、只打印镜像 ID
root@k8s-node-0001:~$ crictl images -q
sha256:a6e51fd179fb849f4ec6faee318101d32830103f5615215716bd686c56afaea1
sha256:588bb5d559c2813834104ecfca000c9192e795ff3af473431497176b9cb5f2c3
sha256:2714222e1b39d8bd6300da72b0805061cabeca3b24def12ffddf47abd47e2263
sha256:be0f9cfd2d7266fdd710744ffd40e4ba6259359fc3bc855341a8c2adad5f5015
COPY
3.7、打印容器清单
root@k8s-node-0001:~$ crictl ps -a
CONTAINER           IMAGE               CREATED             STATE               NAME                     ATTEMPT             POD ID
ee20ec2346fc5       c769a1937d035       13 minutes ago      Running             canal-server             0                   b39a7883a433d
76226ddb736be       cc0c524d64c18       34 minutes ago      Running             mbz-rescue-manager       0                   2f9d48c49e891
e2a19ff0591b4       eb40a52eb437d       About an hour ago   Running             export                   0                   9844b5ea5fdbc
COPY
3.8、打印正在运行的容器清单
root@k8s-node-0001:~$ crictl ps
CONTAINER           IMAGE               CREATED             STATE               NAME                   ATTEMPT             POD ID
ee20ec2346fc5       c769a1937d035       13 minutes ago      Running             canal-server           0                   b39a7883a433d
COPY
3.9、容器上执行命令
root@k8s-node-0001:~$ crictl exec -i -t ee20ec2346fc5 ls
app.sh  bin  canal-server  health.sh  node_exporter  node_exporter-0.18.1.linux-arm64
COPY
3.10、获取容器的所有日志
root@k8s-node-0001:~$ crictl logs ee20ec2346fc5
DOCKER_DEPLOY_TYPE=VM
==> INIT /alidata/init/02init-sshd.sh
==> EXIT CODE: 0
==> INIT /alidata/init/fix-hosts.py
COPY
3.11、获取最近的 N 行日志
root@k8s-node-0001:~$ crictl logs --tail=2 ee20ec2346fc5
start canal successful
==> START SUCCESSFUL ...
COPY
3.12、拉取镜像
crictl pull busybox

作者:Akiraka
链接:https://www.akiraka.net/kubernetes/1139.html
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值