安装
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install containerd.io
生成默认配置
containerd config default > /etc/containerd/config.toml
配置systemd cgroup驱动程序
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
使用代理
这步主要是为了 kubeadm 初始化时能从 k8s.gcr.io 拉取镜像。
vim /usr/lib/systemd/system/containerd.service
# 在 [Service] 段添加以下参数
[Service]
Environment="HTTPS_PROXY=http://代理IP:代理端口"
Environment="NO_PROXY=127.0.0.1/8,172.16.0.0/16"
启动
systemctl daemon-reload
systemctl enable containerd
systemctl start containerd
使用
查看命名空间
kubernetes的命名空间是k8s.io
$ sudo ctr ns ls
NAME LABELS
k8s.io
拉取镜像
$ sudo ctr i pull docker.io/library/nginx:1.23.0
docker.io/library/nginx:1.23.0: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:10f14ffa93f8dedf1057897b745e5ac72ac5655c299dade0aa434c71557697ea: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:3536d368b898eef291fb1f6d184a95f8bc1a6f863c48457395aab859fda354d1: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:fe0ef4c895f5ea450aca17342e481fada37bf2a1ee85d127a4473216c3f672ea: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:55f4b40fe486a5b734b46bb7bf28f52fa31426bf23be068c8e7b19e58d9b8deb: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:4a7307612456a7f65365e1da5c3811df49cefa5a2fd68d8e04e093d26a395d60: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:935cecace2a02d2545e0c19bd52fe9c8c728fbab2323fc274e029f5357cda689: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8f46223e4234ce76b244c074e79940b9ee0a01b42050012c8555ebc7ac59469e: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:b85a868b505ffd0342a37e6a3b1c49f7c71878afe569a807e6238ef08252fcb7: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:f4407ba1f103abb9ae05a4b2891c7ebebaecab0c262535fc6659a628db25df44: done |++++++++++++++++++++++++++++++++++++++|
elapsed: 16.2s total: 54.1 M (3.3 MiB/s)
unpacking linux/amd64 sha256:10f14ffa93f8dedf1057897b745e5ac72ac5655c299dade0aa434c71557697ea...
done: 2.185273887s
查看镜像
$ sudo ctr -n k8s.io i ls
REF TYPE DIGEST SIZE PLATFORMS LABELS
k8s.gcr.io/etcd:3.5.3-0
application/vnd.docker.distribution.manifest.list.v2+json
sha256:13f53ed1d91e2e11aac476ee9a0269fdda6cc4874eba903efd40daf50c55eee5
97.4 MiB
linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x,windows/amd64
io.cri-containerd.image=managed
删除镜像
$ sudo ctr i rm docker.io/library/nginx:1.23.0
docker.io/library/nginx:1.23.0
运行一个容器
$ sudo ctr run -d docker.io/library/nginx:1.23.0 nginx
列出容器
$ sudo ctr c ls
CONTAINER IMAGE RUNTIME
nginx docker.io/library/nginx:1.23.0 io.containerd.runc.v2
查看容器详细信息
$ sudo ctr c info nginx
删除容器
- 查看任务
$ sudo ctr t ls
TASK PID STATUS
nginx 10182 RUNNING
- 删除任务
$ sudo ctr t kill nginx
$ sudo ctr t ls
TASK PID STATUS
nginx 10182 STOPPED
- 删除容器
$ sudo ctr c rm nginx