部署containerd管理命令nerdctl

nerdctl 是一个专为Containerd设计的容器管理命令行工具,旨在提供类似 Docker 的用户体验,同时支持 Containerd 的高级特性(如命名空间、compose等)。

1、下载安装

wget https://github.com/containerd/nerdctl/releases/download/v1.5.0/nerdctl-1.5.0-linux-amd64.tar.gz
tar -xzf nerdctl-1.5.0-linux-amd64.tar.gz -C /usr/local/bin/

2、设置命名空间

echo 'export CONTAINERD_NAMESPACE="k8s.io"' >> /etc/profile
source /etc/profile
### 如何配置 `nerdctl` 使用 `containerd` 为了使 `nerdctl` 能够与 `containerd` 协同工作,需确保环境已正确设置并遵循特定的配置步骤。 #### 环境准备 确认 `containerd` 已经成功安装并且正在运行。这可以通过执行以下命令来验证: ```bash systemctl is-active --quiet containerd && echo "Containerd is running" ``` 如果未启动,则按照官方文档指导完成安装和启动操作[^3]。 #### 安装 `nerdctl` 下载适用于当前系统的最新版本 `nerdctl` 可执行文件,并将其放置于 `$PATH` 中的一个目录下以便全局访问。对于 Linux 用户来说,可以使用如下脚本来简化此过程: ```bash VERSION=$(curl -s https://api.github.com/repos/containerd/nerdctl/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') wget https://github.com/containerd/nerdctl/releases/download/${VERSION}/nerdctl-linux-amd64.tar.gz tar Cxzvf /usr/local/bin nerdctl-${VERSION}-linux-amd64.tar.gz rm nerdctl-${VERSION}-linux-amd64.tar.gz ``` 上述代码会自动获取最新的稳定版 `nerdctl` 并解压至 `/usr/local/bin` 文件夹内[^2]。 #### 配置 `nerdctl` 连接到 `containerd` 默认情况下,`nerdctl` 尝试连接位于 `/run/containerd/containerd.sock` 的 Unix 域套接字以通信 `containerd`。因此,在大多数场景里无需额外指定地址即可正常运作。然而,当存在多个 `containerd` 实例或其他特殊情况时,可通过设定环境变量或命令行参数改变目标端点的位置。 ##### 方法一:通过环境变量设置 在 shell 会话中临时定义 `CONTAINERD_ADDRESS` 和 `CONTAINERD_SNAPSHOTTER`: ```bash export CONTAINERD_ADDRESS=/var/run/containerd/containerd.sock export CONTAINERD_SNAPSHOTTER=overlayfs ``` 也可以将这些声明加入 `.bashrc`,`.zshrc` 或者其他初始化脚本之中实现持久化效果。 ##### 方法二:利用命令行选项覆盖 每次调用 `nerdctl` 时附带 `-H/--host` 参数指明远程 socket 地址: ```bash nerdctl -H unix:///path/to/socket info ``` 这种方式适合偶尔切换不同 backend 的情况而不必修改系统级别的配置项。 #### 测试配置有效性 最后一步是检验整个链路是否通畅无阻。尝试拉取一个简单的测试镜像如 busybox 来观察是否有任何异常提示信息返回给终端用户。 ```bash nerdctl pull busybox ``` 若一切顺利的话,应该能够看到类似于下面的日志输出表明请求已被处理完毕而没有任何错误发生。 ```text latest: Pulling from library/busybox Digest: sha256:c8709... Status: Downloaded newer image for busybox:latest docker.io/library/busybox:latest ``` 至此,已完成全部必要的准备工作使得 `nerdctl` 成功对接上本地部署好的 `containerd` 服务实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇的海马体

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值