Container 命令ctr、crictl 命令使用说明
一、ctr 命令使用
Container命令ctr,crictl的用法
版本:ctr containerd.io 1.4.3
containerd 相比于docker , 多了namespace概念, 每个image和container 都会在各自的namespace下可见, 目前k8s会使用k8s.io 作为命名空间
1. 查看镜像
[root@k8s-master1 ~]# ctr image list
REF TYPE DIGEST SIZE PLATFORMS LABELS
[root@k8s-master1 ~]# ctr i list
REF TYPE DIGEST SIZE PLATFORMS LABELS
[root@k8s-master1 ~]# ctr i ls
REF TYPE DIGEST SIZE PLATFORMS LABELS
[root@k8s-master1 ~]# ctr namespaces list
NAME LABELS
k8s.io
moby
[root@k8s-master1 ~]# ctr -n k8s.io images ls
[root@k8s-master1 ~]# ctr -n k8s.io image ls -q2. 镜像标签标记
[root@k8s-master1 ~]# ctr -n k8s.io i tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
# 注意: 若新镜像reference 已存在, 需要先删除新reference, 或者如下方式强制替换
[root@k8s-master1 ~]# ctr -n k8s.io i tag --force registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.23. 删除镜像
[root@k8s-master1 ~]# ctr -n k8s.io i rm k8s.gcr.io/pause:3.24. 拉取镜像
# 正常网络下可以使用如下 -k 跳过 https 验证
[root@k8s-master1 ~]# ctr -n k8s.io i pull -k docker.io/library/nginx:latest
# 不正常网络下要使用如下,指定镜像加速器
[root@k8s-master1 ~]# ctr -n k8s.io i pull -k docker.io/library/nginx:latest --hosts-dir=/etc/containerd/certs.d5. 推送镜像
[root@k8s-master1 ~]# ctr -n k8s.io i push -k docker.io/library/nginx:latest
# 如果是 http 协议需要 --plain-http
[root@k8s-master1 ~]# ctr -n k8s.io i push --plain-http -k docker.io/library/nginx:latest
# 如果是需要用户名密码
[root@k8s-master1 ~]# ctr -n k8s.io i push -u admin:password --plain-http -k docker.io/library/nginx:latest6. 导出镜像
[root@k8s-master1 ~]# ctr -n k8s.io i export nginx.tar docker.io/library/nginx:latest7. 导入镜像
# 不支持 build,commit 镜像
[root@k8s-master1 ~]# ctr -n k8s.io i import nginx.tar8. 查看容器
[root@k8s-master1 ~]# ctr -n k8s.io containers ls
[root@k8s-master1 ~]# ctr -n k8s.io containers info 容器名称9. 删除容器
[root@k8s-master1 ~]# ctr -n k8s.io containers rm 容器名称10. 启动容器
[root@k8s-master1 ~]# ctr -n k8s.io containers create \
--net-host \
--mount type=bind,src=/usr/share/nginx/html,dst=/usr/share/nginx/html,options=rbind:rw \
--env TZ=Asia/Shanghai \
docker.io/library/nginx:latest nginx
[root@k8s-master1 ~]# ctr -n k8s.io containers ls |grep nginx
License:
CC BY 4.0