nerdctl 基于 containerd 兼容 docker CLI
简介
nerdctl
是用于 containerd
的与 Docker
兼容的 CLI。主要适用于 Docker
转到 Containerd
的用户,操作 Containerd
的命令行工具 ctr 和 crictl
不怎么好用,所以出现了 nerdctl
工具。
nerdctl 操作的是 containerd 而非 docker,但它只是用法保持了 docker cli 的习惯,实质上操作的是 containerd。
✅ Same UI/UX as docker
✅ 与 UI/UX docker
相同
✅ Supports Docker Compose (nerdctl compose up
)
✅ 支持 Docker Compose ( nerdctl compose up
)
✅ [Optional] Supports rootless mode, without slirp overhead (bypass4netns)
✅ [可选] 支持无根模式,无 slirp 开销 (bypass4netns)
✅ [Optional] Supports lazy-pulling (Stargz, Nydus, OverlayBD)
✅ [可选] 支持延迟拉取(Stargz、Nydus、OverlayBD)
✅ [Optional] Supports encrypted images (ocicrypt)
✅ [可选] 支持加密图像 (ocicrypt)
✅ [Optional] Supports P2P image distribution (IPFS) (1)
✅ [可选] 支持 P2P 图像分发 (IPFS) (1)
✅ [Optional] Supports container image signing and verifying (cosign)
✅ [可选] 支持容器镜像签名和验证(cosign)
NERDCTL 是 containerd 的一个非核心子项目。
参考:
https://github.com/containerd/nerdctl
安装
nerdctl
官方发布包含两个安装版本:
- Minimal:仅包含 nerdctl 二进制文件及 rootless 模式下的辅助安装脚本;
- Full:全量包,其中包含了 Containerd、CNI、runc、BuildKit 等完整组件。
下载地址:https://github.com/containerd/nerdctl/releases
注意:安装 nerdctl-full 版本集成了 containerd 。如主机已安装 containerd 请选择 nerdctl简易版
将nerdctl更名为 docker
安装buildkit(可省略,用于构建镜像)
命令
输入 nerdctl -h
查看帮助,列出所有命令说明,如下:
常用nerdctl命令
注意:
ctr
和nerdctl
命令需要指定名字空间,管理k8s创建的容器,需要使用k8s.io
名字空间,即ctr/nerdctl -n k8s.io
参考
1.https://www.cnblogs.com/lifuqiang/articles/17850939.html
2.https://www.cnblogs.com/hsyw/p/17695809.html
3.https://github.com/containerd/nerdctl