首页 > 其他分享 >Containerd高级命令行工具nerdctl安装及使用

Containerd高级命令行工具nerdctl安装及使用

时间:2024-08-18 23:39:22浏览次数:15  
标签:aliyuncs ctr -- Containerd nerdctl 命令行 com containers

 

 

################crictl ####################
crictl 安装k8s即有,ctr是containerd的一个客户端工具 ,ctr -v输出的是containerd的版本
[root@m1 ~]# crictl -v
crictl version v1.30.1
[root@m1 ~]#


[root@m1 ~]# crictl images
IMAGE TAG IMAGE ID SIZE
docker.io/calico/cni v3.25.0 d70a5947d57e5 198MB
docker.io/calico/kube-controllers v3.25.0 5e785d005ccc1 71.7MB
docker.io/calico/node v3.25.0 08616d26b8e74 247MB
registry.aliyuncs.com/google_containers/coredns v1.11.1 cbb01a7bd410d 18.2MB
registry.aliyuncs.com/google_containers/etcd 3.5.12-0 3861cfcd7c04c 57.2MB
registry.aliyuncs.com/google_containers/kube-apiserver v1.30.4 8a97b1fb3e2eb 32.8MB
registry.aliyuncs.com/google_containers/kube-controller-manager v1.30.4 8398ad49a121d 31.1MB
registry.aliyuncs.com/google_containers/kube-proxy v1.30.4 568d5ba88d944 29MB
registry.aliyuncs.com/google_containers/kube-scheduler v1.30.4 4939f82ab9ab4 19.3MB
registry.aliyuncs.com/google_containers/pause 3.6 6270bb605e12e 302kB
registry.aliyuncs.com/google_containers/pause 3.9 e6f1816883972 322kB
[root@m1 ~]#

ctr--help
crictl--help

##############ctr########################
如果你的ctr images pull总是报错: http: server gave HTTP response to HTTPS client。可能这并不是你的配置出错,而是你需要在后面pull操作后加上--plain-http参数。表示你当前client与镜像仓库之间接受http形式的通信。或者是使用自定义的hosts-dir来指定配置文件。

ctr images pull IP:PORT/library/service:v1.0.0 --plain-http
ctr images pull IP:PORT/library/service:v1.0.0 --hosts-dir "/etc/containerd/certs.d"

由于 Containerd 也有 namespaces 的概念,对于上层编排系统的支持,
ctr客户端 主要区分了 3 个命名空间分别是k8s.io、moby和default,
以上我们用crictl操作的均在k8s.io命名空间,使用ctr看镜像列表就需要加上-n 参数。
crictl 是只有一个k8s.io命名空间,但是没有-n 参数。

【温馨提示】ctr images pull 拉取的镜像默认放在default,
而 crictl pull 和 kubelet 默认拉取的镜像都在 k8s.io 命名空间下。
所以通过ctr导入镜像的时候特别注意一点,最好指定命名空间。


######################nerdctl#########################

containerd 客户端工具 nerdctl:
nerdctl 是 与 Docker 兼容的CLI for Containerd,其支持Compose
nerdctl 和 docker命令行语法很相似,学习比较容易
nerdctl 官方发布包包含两个安装版本:
Minimal: 仅包含 nerdctl 二进制文件以及 rootless 模式下的辅助安装脚本
Full: 看名字就能知道是个全量包,其包含了 Containerd、CNI、runc、BuildKit 等完整组件
推荐使用 nerdctl,使用效果与 docker 命令的语法一致,github 下载链接:

https://github.com/containerd/nerdctl/releases
精简 (nerdctl--linux-amd64.tar.gz): 只包含 nerdctl
完整 (nerdctl-full--linux-amd64.tar.gz):包含 containerd, runc, and CNI 等依赖
nerdctl的目标并不是单纯地复制 docker 的功能,它还实现了很多 docker 不具备的功能,例如延迟拉取镜像(lazy-pulling)、镜像加密(imgcrypt)等。具体看 nerdctl。


nerdctl使用样例
# nerdctl run -d --name nginx -p 80:80 nginx:alpine

To run a container with the default bridge CNI network (10.4.0.0/24):
# nerdctl run -it --rm alpine

To build an image using BuildKit:
# nerdctl build -t foo /some-dockerfile-directory
# nerdctl run -it --rm foo

To build and send output to a local directory using BuildKit:
# nerdctl build -o type=local,dest=. /some-dockerfile-directory

To run containers from docker-compose.yaml
# nerdctl compose -f ./examples/compose-wordpress/docker-compose.yaml up

nerdctl添加组件-完整安装full包包含这个脚本
# containerd-rootless-setuptool.sh install-buildkit

 

nerdctl run -d --name nginx -p 80:80 nginx:alpine
nerdctl run -d -p 80:80 --name=nginx --restart=always nginx:alpine

systemctl start containerd

标签:aliyuncs,ctr,--,Containerd,nerdctl,命令行,com,containers
From: https://www.cnblogs.com/kissit/p/18366388

相关文章

  • Linux, shell编程备份数据库详解,带你读懂命令行指令
    目录先看最终代码再解释[!-d"${BACKUP}/${DATETIME}"]解析mysqldump-u${DB_USER}-p${DB_PW}--host=${HOST}-q-R--databases${DATABASE}|gzip>${BACKUP}/${DATETIME}/$DATETIME.sql.gz解析 tar-zcvf$DATETIME.tar.gz${DATETIME}解析先看最终代码再解......
  • 【Story】不同操作系统的命令行命令对比
    目录表格汇总1:WindowsCMD、WindowsPowerShell、LinuxShell、macOSTerminal详细说明表格汇总2:WindowsCMD、WindowsPowerShell、LinuxShell、macOSTerminal详细说明结束语以下的表格,包括了不同操作系统的命令行命令对比,涵盖了更多常见操作,包括运行软件、安装/......
  • curl 命令行 crud http shell get post put delete restful
    GETcurl-X'GET'\'http://localhost:5294/api/Todos?Status=0&PrePage=10'\-H'accept:*/*'POSTcurl-X'POST'\'http://localhost:5294/api/Todos'\-H'Authorization:BearereyJhb......
  • Python系列(5)- 命令行应用 (Command Line Application)
     使用Windows、iOS、Android、HarmonyOS等操作系统的设备,用户与这些设备主要通过图形用户界面(GUI)来交互,比如:鼠标、触屏等。一般用户很少使用这些系统的命令行界面(CLI),在Windows下是通过命令提示符(Cmd)窗口来实现CLI交互,其它系统通过终端(Terminal)窗口。 命令行界面(CLI......
  • Containerd初体验
    一、Containerd概述1.什么是Containerd        Containerd(containerDaemon)是一个开源的容器运行时,它提供了一种标准化的方式来管理容器的生命周期。该项目最初是由Docker开发团队创建的,并在后来成为一个独立的项目,被纳入了cloudNativecomputingFoundation(......
  • containerd + nerdctl安装
    下载所需依赖#containerd包wgethttps://github.com/containerd/containerd/releases/download/v1.6.8/containerd-1.6.8-linux-amd64.tar.gztarCxzvf/usr/localcontainerd-1.6.8-linux-amd64.tar.gz#runcwgethttps://github.com/opencontainers/runc/releases/downl......
  • macOS和 Window10 命令行禁用/启用IPv6本地网络
    macOS禁用/启用IPv6本地网络禁用IPv6本地网络#验证是否可以访问IPv6网络$curl6.ipw.cn2408:824c:200::2b8b:336f:cc9c#找到网络设备的名字,这里用的是Wi-Fi(因为macbook用的是无线网络访问,即Wi-Fi)$networksetup-listallnetworkservicesAnasterisk(......
  • Google浏览器下载与命令行启动环境配置
    Google下载地址:https://www.google.cn/intl/zh-CN/chrome/cmd输入chrome显示chrome不是内部或外部命令【cmd启动命令】chrome.exe--start-maximized--remote-debugging-port=2929--user-data-dir="D:\google_cache\2929"如果提示显示chrome不是内部或外部命令就按照......
  • HexView 刷写文件脚本处理工具-命令行介绍(一)-数据对齐(/Adxx或/AD:yy)
    数据对齐(/Adxx或/AD:yy)每个块的起始地址将被对齐到给定参数xx的倍数。如果省略分隔符‘:’或‘=’,则参数xx被解释为十六进制值。如果使用了分隔符,则值xx以C风格进行解释,例如/AD:0xFF与/AD:255或/AD:11111111b相同。这个值只能是无符号字符值。示例说明......
  • HexView 刷写文件脚本处理工具-命令行介绍(二)-对齐长度(/AL[:length])
    对齐长度(/AL[:length])这个选项与/AD参数结合使用非常有用。它也将所有块的长度对齐,使其成为/Adxx选项中给定参数的倍数。示例说明:/AD4/AL如果有一个地址范围从0xE432到0xE47E的块,它将被对齐到0xE430到0xE47F。所有的字符将被填充为0xFF,或者被/Afxx指......