BlueXIII's Blog

热爱技术,持续学习

0%

Containerd常用操作

参考

docker下containerd配置信息

1
2
3
4
5
6
7
8
9
10
# 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配置信息

1
2
3
4
5
6
7
8
9
10
# 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常用管理命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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常用管理命令

1
2
3
4
5
6
7
8
9
10
11
12
# 查看pod
crictl pods
# 查看镜像
crictl images
# 查看容器
crictl ps -a
# 在容器中执行
crictl exec -it 21c8007a90eea ls
# 查看容器日志
crictl logs -f 21c8007a90eea
# 拉取镜像
crictl pull busybox

nerdctl常用管理命令

1
2
3
4
# k3s下alias配置
alias nerdctl='nerdctl --host=/run/k3s/containerd/containerd.sock --namespace k8s.io --insecure-registry'

# 基本兼容docker cmd,直接使用 nerdctl --help 查看帮助即可