nerdctl
是一个轻量级的 Docker CLI 兼容工具,它用于操作 containerd 容器运行时。下面是如何在 CentOS 上安装和配置 nerdctl
的详细步骤。
1. 前置条件
- 需要
containerd
作为容器运行时,如果尚未安装,请先安装 containerd。 - 需要
runc
作为容器运行时的默认低级容器管理器。
2. 安装 containerd
和 runc
如果你还没有安装 containerd
和 runc
,你可以按以下步骤来安装它们。
2.1 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.2 添加 Docker 官方仓库(包含 containerd
)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2.3 安装 containerd
sudo yum install -y containerd.io
2.4 配置 containerd
创建默认配置文件:
sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml
启动并启用 containerd
:
sudo systemctl restart containerd
sudo systemctl enable containerd
3. 下载并安装 nerdctl
你可以通过下载 nerdctl
的预构建二进制文件来进行安装。
3.1 下载 nerdctl
curl -L https://github.com/containerd/nerdctl/releases/download/v1.7.7/nerdctl-full-1.7.7-linux-amd64.tar.gz -o nerdctl-full.tar.gz
3.2 解压并安装
sudo tar Cxzvf /usr/local nerdctl-full.tar.gz
这将 nerdctl
的二进制文件安装到 /usr/local/bin/nerdctl
中。
3.3 检查安装
验证 nerdctl
是否成功安装:
nerdctl --version
你应该会看到类似的版本信息输出。
4. 配置 nerdctl
使用 containerd
默认情况下,nerdctl
会自动连接到 /run/containerd/containerd.sock
,通常不需要手动配置。但如果 containerd
使用了自定义的 socket 文件位置,可以通过以下命令手动指定:
nerdctl --namespace k8s.io --address /run/containerd/containerd.sock ps
5. 使用 nerdctl
现在你可以像使用 Docker 一样使用 nerdctl
来管理容器。例如,运行一个简单的容器:
nerdctl run -d --name nginx-container -p 80:80 nginx
这将在后台运行一个 nginx
容器。
6. 额外配置(可选)
如果你需要为 nerdctl
配置更多的选项,比如使用特定的容器镜像仓库、Kubernetes 集成等,可以参考其官方文档中的配置选项。
总结
通过上述步骤,你可以在 CentOS 上成功安装 nerdctl
并开始管理基于 containerd
的容器。