1. 为什么选择nerdctl+containerd组合
在容器技术领域,Docker虽然是最广为人知的解决方案,但对于追求轻量化和原生Kubernetes集成的用户来说,nerdctl+containerd的组合正在成为专业用户的新宠。作为长期从事容器化部署的工程师,我在生产环境中深度使用过各种容器运行时后,最终将nerdctl+containerd作为标准工具链。
nerdctl是containerd的CLI工具,相比docker-cli,它有几个显著优势:首先,它直接与containerd通信,没有docker守护进程那层抽象,性能更高;其次,它与Kubernetes使用的容器运行时完全一致,避免了环境差异导致的问题;再者,它支持所有containerd特性,包括最新的快照器和存储驱动。
containerd作为CNCF毕业项目,已经成为容器运行时的事实标准。从Docker 1.11开始,Docker底层就已经使用containerd作为运行时。直接使用containerd可以避免Docker带来的额外开销,特别是在Kubernetes环境中,所有主流发行版(如k3s、k8s)默认都使用containerd。
提示:如果你需要兼容Docker生态,nerdctl提供了
--snapshotter参数和nerdctl.linuxkit构建标签,可以模拟大部分Docker行为。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 完整安装与配置流程
2.1 准备工作与环境检查
在开始安装前,我们需要确保环境符合基本要求。以下是我在多次部署中总结的预检清单:
- 操作系统:推荐使用Ubuntu 20.04+/CentOS 8+等现代Linux发行版
- 内核版本:≥4.14(建议≥5.4以获得完整cgroupv2支持)
- 依赖工具:tar、wget、systemd
- 资源要求:至少1GB可用磁盘空间(完整安装包约500MB)
验证命令:
bash复制# 检查内核版本
uname -r
# 检查可用磁盘空间
df -h /usr/local
2.2 分步安装指南
下载阶段优化技巧
官方GitHub下载可能较慢,这里提供三种下载方案:
- 直接下载(适合国际带宽好的环境):
bash复制wget https://github.com/containerd/nerdctl/releases/download/v2.2.1/nerdctl-full-2.2.1-linux-amd64.tar.gz
- 国内加速镜像(推荐):
bash复制wget https://githubfast.com/containerd/nerdctl/releases/download/v2.2.1/nerdctl-full-2.2.1-linux-amd64.tar.gz
- 分片下载+合并(大文件更稳定):
bash复制aria2c -x16 -s16 https://github.com/containerd/nerdctl/releases/download/v2.2.1/nerdctl-full-2.2.1-linux-amd64.tar.gz
注意:完整包包含
