Technical note
Containerd常用操作
参考
- https://os.51cto.com/article/705519.html 如何在命令行下优雅地管理 Containerd
- https://zhuanlan.zhihu.com/p/338484552 Containerd 的前世今生和保姆级入门教程
- https://aijishu.com/a/1060000000083155 如何优雅地使用containerd
- https://www.zhangbj.com/p/1095.html k3s设置镜像
- https://www.jianshu.com/p/0f7940258b7a crictl 命令用法及与docker-cli的命令对比
- https://www.qikqiak.com/k8strain2/containerd/nerdctl/ Containerd 高级命令行工具 nerdctl
docker下containerd配置信息
# address
/var/run/docker/containerd/containerd.sock
# namespace
moby
# 手动配置路径
/etc/docker
# 自动生成的配置路径
/var/run/docker/containerd/containerd.toml
# ctr访问
ctr --address /var/run/docker/containerd/containerd.sock --namespace moby c ls
k3s下containerd配置信息
# address
/run/k3s/containerd/containerd.sock
# namespace
k8s.io
# 手动配置路径
cat /etc/rancher/k3s/registries.yaml
# 自动生成配置路径
cat /var/lib/rancher/k3s/agent/etc/containerd/config.toml
# ctr访问
ctr --address /run/k3s/containerd/containerd.sock --namespace k8s.io c ls
ctr常用管理命令
# k3s下的alias配置
alias ctr="ctr --address /run/k3s/containerd/containerd.sock --namespace k8s.io"
# 查看命名空间
ctr ns ls
# 查看镜像
ctr i ls
# 拉取镜像
ctr i pull docker.io/library/nginx:1.21
# 导入镜像
ctr i import image.tar
# 删除镜像
ctr i remove docker.io/library/nginx:1.21
# 运行(本质上是容器创建+任务启动)
ctr run --rm -t docker.io/library/debian:latest cont1
# 创建容器
ctr c create -t docker.io/library/nginx:latest nginx_1
# 查看容器
ctr c ls
# 创建任务
ctr t start -d nginx_1
# 查看任务
ctr t ls
# 在容器中执行一个任务
ctr t exec -t --exec-id bash_1 nginx_1 bash
# 停止任务
ctr t kill -9 nginx_1
ctr t rm -f nginx_1
# 删除容器
ctr c rm nginx_1
crictl常用管理命令
# 查看pod
crictl pods
# 查看镜像
crictl images
# 查看容器
crictl ps -a
# 在容器中执行
crictl exec -it 21c8007a90eea ls
# 查看容器日志
crictl logs -f 21c8007a90eea
# 拉取镜像
crictl pull busybox
nerdctl常用管理命令
# k3s下alias配置
alias nerdctl='nerdctl --host=/run/k3s/containerd/containerd.sock --namespace k8s.io --insecure-registry'
# 基本兼容docker cmd,直接使用 nerdctl --help 查看帮助即可