1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| #!/usr/bin/env bash
set -e
echo "[INFO] 开始安装 nvidia-container-toolkit ..."
if [ "$EUID" -ne 0 ]; then echo "[ERROR] 请使用 root 权限执行此脚本!" exit 1 fi
echo "[INFO] 配置 USTC 镜像源..." curl -s -L https://mirrors.ustc.edu.cn/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \ sed 's#nvidia.github.io/libnvidia-container/stable/#mirrors.ustc.edu.cn/libnvidia-container/stable/#g' | \ sed 's#nvidia.github.io/libnvidia-container/experimental/#mirrors.ustc.edu.cn/libnvidia-container/experimental/#g' | \ sed 's#https://nvidia.github.io/libnvidia-container/gpgkey#https://mirrors.ustc.edu.cn/libnvidia-container/gpgkey#g' \ > /etc/yum.repos.d/nvidia-container-toolkit.repo
echo "[INFO] 更新缓存并安装..." dnf makecache -y dnf install -y nvidia-container-toolkit
echo "[INFO] 配置 Docker runtime..." nvidia-ctk runtime configure --runtime=docker
echo "[INFO] 重启 Docker 服务..." systemctl daemon-reload systemctl restart docker
echo "[INFO] 验证 nvidia-container-toolkit 安装..." if command -v nvidia-container-runtime &>/dev/null; then echo "[OK] nvidia-container-runtime 已安装: $(nvidia-container-runtime --version 2>/dev/null | head -n1)" else echo "[WARN] 未检测到 nvidia-container-runtime,请检查安装日志。" fi
echo "[DONE] NVIDIA Container Toolkit 安装完成 🎉"
|