nerdctl
1. 项目信息
名称 | 描述 |
---|---|
名称 | nerdctl |
版本 | 1.5.0 |
项目地址 | https://github.com/containerd/nerdctl |
nerdctl是containerd的命令行工具。与ctr不同,nerdctl的目标是用户友好并和docker兼容,比ctr覆盖更全面。
从基本用法的角度来看,与ctr相比,nerdctl支持:
构建镜像;
容器网络管理;
docker compose与nerdctl compose up
2. 源码适配
与架构相关的代码较少,具体见:https://github.com/Loongson-Cloud-Community/nerdctl/tree/v1.5.0-loong64 的git log信息。
3. 构建
3.1 二进制编译
执行命令:make nerdctl
编译完成后会在_output目录下生成nerdctl二进制
3.2 二进制安装
执行命令: make install
默认安装在/usr/local/bin目录下
3.3 官方release包构建
执行命令: make artifacts
该命令将构建所有平台,所有架构的tar包
4. 使用依赖
若要使用nerdctl需要满足以下2个条件:
1)使用高版本的CNI网络插件:
下载https://github.com/Loongson-Cloud-Community/plugins/releases/download/v1.3.0/loongarch64-v1.3.0-bin.tar.gz,
解压后重命名为bin,将其存放在/opt/cni/ 目录下
备注: plugins源码构建指导:https://github.com/Loongson-Cloud-Community/Loongson-Cloud-Community/blob/main/docs/%E7%A7%BB%E6%A4%8D%E6%89%8B%E5%86%8C/plugins.md
2)卸载docker-ce
3) 使用示例
[root@kubernetes-master-1 plugins]# nerdctl pull cr.loongnix.cn/library/alpine:3.11
cr.loongnix.cn/library/alpine:3.11: resolved |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:9730184ded621302981066363fad2a8157ff071565dc3478c3e8c4fce9c08adc: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:530dc3f1f2ceb4bea7af5aa073e25108e98e2520049193b37e28bb1d0ae51c62: done |++++++++++++++++++++++++++++++++++++++|
elapsed: 0.5 s total: 528.0 (1.0 KiB/s)
[root@kubernetes-master-1 plugins]# nerdctl run -it cr.loongnix.cn/library/alpine:3.11
/ #