一、Containerd 介绍
Containerd 是一个工业级标准的容器运行时,它强调简单性、健壮性和可移植性。Containerd 可以在宿主机中管理完整的容器生命周期:容器镜像的传输和存储、容器的执行和管理、存储和网络等
1、命令行工具
ctr:containerd 相比于docker , 多了namespace概念, 每个image和container 都会在各自的namespace下可见, 目前k8s会使用 作为命名空间
#删除镜像
ctr -n i rm /pause:3.2
#拉取镜像
ctr -n i pull -k /pause:3.2
#推送镜像
ctr -n i push -k /pause:3.2
#导出镜像
ctr -n i export /pause:3.2
#导入镜像
ctr -n i import
不支持 build,commit 镜像
crictl:是为k8s使用containerd而制作的, 其他非k8s的创建的 crictl是无法看到和调试的, 也就是说用ctr run 运行的容器无法使用crictl 看到
crictl 使用命名空间
nerdctl :(替代docker cli):
自从 Containerd 发布 1.5 以后,nerdctl 工具配合 Containerd 的情况下基本已经可以替换掉 Docker 和 Docker Compose;
nerdctl 官方发布包包含两个安装版本:
- Minimal: 仅包含 nerdctl 二进制文件以及 rootless 模式下的辅助安装脚本
- Full: 看名字就能知道是个全量包,其包含了 Containerd、CNI、runc、BuildKit 等完整组件
nerdctl 项目地址
/containerd/nerdctl/releases/
GitHub - containerd/nerdctl: Docker-compatible CLI for containerd, with support for Compose
2、nerdctl的下载安装
##下载
wget /containerd/nerdctl/releases/download/v0.11.1/nerdctl-full-0.11.
##解压
tar Cxzvvf /usr/local nerdctl-full-0.11.
## 启动 containerd 和 buildkitd
systemctl enable --now containerd
systemctl enable --now buildkit
二、nerdctl 运用
1、pull images
ctr image pull /cnrancher/rancher:v2.4.17-ent
nerdctl pull rancher/cluster-proportional-autoscaler-amd64:1.0.0
2、run 一个容器
nerdctl run -d --privileged --restart=always --name zjz-rancher -p 80:80 -p 443:443 /cnrancher/rancher:v2.4.17-ent
三、 containerd连接harbor仓库
1、github项目地址介绍
cri/ at master · containerd/cri · GitHub
2、containerd的配置文件(docker 的 )
vim /etc/containerd/
[plugins.".".registry]
[plugins.".".]
[plugins."."..""]
endpoint = [""] //到此为配置文件默认生成,之后为需要添加的内容
[plugins.".".."10.10.20.71:9998"]
endpoint = ["https://10.10.20.71:9998"]
[plugins.".".]
[plugins.".".."10.10.20.71:9998".tls]
insecure_skip_verify = true
[plugins.".".."10.10.20.71:9998".auth]
username = "admin"
password = "Harbor12345"
其中“10.10.20.71.9998”是私人仓库地址。
insecure_skip_verify = true 意为跳过证书认证。
保存并重启containerd服务即可
systemctl restart containerd
终于可以像使用 Docker 一样丝滑地使用 Containerd 了!-InfoQ
/containerd/containerd/releases containerd的github项目地址
/sparkdev/p/ 技术介绍和测试