Containerd 2.1.4 二进制离线安装指南
准备离线安装包
1. 在有网络的机器上下载二进制文件
# 创建工作目录
mkdir -p /tmp/containerd-binary-offline
cd /tmp/containerd-binary-offline# 下载containerd 2.1.4二进制包
wget https://github.com/containerd/containerd/releases/download/v2.1.4/containerd-2.1.4-linux-amd64.tar.gz# 下载runc 1.2.5二进制文件
wget https://github.com/opencontainers/runc/releases/download/v1.2.5/runc.amd64# 下载CNI插件
wget https://github.com/containernetworking/plugins/releases/download/v1.5.1/cni-plugins-linux-amd64-v1.5.1.tgz# 验证下载
ls -la
目标机器安装步骤
1.. 解压安装包
cd /tmp
tar -xzf containerd-binary-offline-package.tar.gz
2.. 安装 containerd 二进制文件
# 解压containerd到/usr/local
sudo tar -C /usr/local -xzf containerd-2.1.4-linux-amd64.tar.gz# 验证安装
/usr/local/bin/containerd --version
3. 安装 runc
# 安装runc到/usr/local/sbin
sudo install -m 755 runc.amd64 /usr/local/sbin/runc# 验证安装
/usr/local/sbin/runc --version
4. 安装 CNI 插件
# 创建CNI目录
sudo mkdir -p /opt/cni/bin# 解压CNI插件
sudo tar -C /opt/cni/bin -xzf cni-plugins-linux-amd64-v1.5.1.tgz# 设置权限
sudo chmod +x /opt/cni/bin/*
6. 配置 containerd
# 创建配置目录
sudo mkdir -p /etc/containerd# 生成默认配置
sudo /usr/local/bin/containerd config default | sudo tee /etc/containerd/config.toml# 创建systemd服务文件
sudo mkdir -p /usr/local/lib/systemd/system
sudo tee /usr/local/lib/systemd/system/containerd.service > /dev/null <<EOF
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/containerd
Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=infinity
TasksMax=infinity
OOMScoreAdjust=-999[Install]
WantedBy=multi-user.target
EOF# 重新加载systemd并启用服务
sudo systemctl daemon-reload
sudo systemctl enable containerd
7. 启动服务
# 启动containerd
sudo systemctl start containerd
sudo systemctl status containerd
8. 验证安装
# 验证containerd版本
containerd --version
sudo ctr version# 验证runc版本
runc --version# 测试containerd功能
sudo ctr images pull docker.io/library/hello-world:latest
sudo ctr run --rm docker.io/library/hello-world:latest hello-test# 如果有Docker,测试Docker功能
if command -v docker &> /dev/null; thensudo docker run --rm hello-world
fi
卸载
# 停止服务
sudo systemctl stop containerd docker
sudo systemctl disable containerd# 删除文件
sudo rm -f /usr/local/bin/containerd*
sudo rm -f /usr/local/sbin/runc
sudo rm -rf /etc/containerd
sudo rm -f /usr/local/lib/systemd/system/containerd.service
sudo rm -rf /opt/cni# 重新加载systemd
sudo systemctl daemon-reload
推荐使用二进制安装方式,除非你需要特定的编译选项或自定义功能。