diff --git a/nerdctl/setup_nvidia_docker_containerd_rootless.sh b/nerdctl/setup_nvidia_docker_containerd_rootless.sh index e988f0e..1ec10f9 100755 --- a/nerdctl/setup_nvidia_docker_containerd_rootless.sh +++ b/nerdctl/setup_nvidia_docker_containerd_rootless.sh @@ -28,13 +28,13 @@ install_nvidia_docker() { configure_nvidia_ctk() { echo "正在配置 NVIDIA Container Toolkit..." - # 创建配置目录 + # 创建 Rootless 模式下的 containerd 配置目录 mkdir -p "$HOME/.config/containerd" - # 配置 nvidia-ctk 到 rootless 模式下的 config.toml + # 配置 nvidia-ctk 到 Rootless 模式下的 config.toml nvidia-ctk runtime configure --runtime=containerd --config="$HOME/.config/containerd/config.toml" - # 如果没有 /etc/nvidia-container-runtime/config.toml,则生成默认配置 + # 确保 /etc/nvidia-container-runtime/config.toml 存在,并配置为默认 runtime if [ ! -f /etc/nvidia-container-runtime/config.toml ]; then sudo nvidia-ctk config --set default-runtime --config=/etc/nvidia-container-runtime/config.toml fi @@ -44,8 +44,10 @@ configure_nvidia_ctk() { sudo ldconfig # 添加 nvidia-container-cli 到 PATH - echo 'export PATH=$PATH:/usr/bin' >> ~/.profile - source ~/.profile + if ! echo "$PATH" | grep -q "/usr/bin"; then + echo 'export PATH=$PATH:/usr/bin' >> ~/.profile + source ~/.profile + fi } # 启用 cgroup v2 支持和权限调整 @@ -53,9 +55,12 @@ configure_cgroup_v2() { echo "配置 cgroup v2 支持..." sudo chmod -R 755 /sys/fs/cgroup sudo chown -R $(whoami) /sys/fs/cgroup + + # 创建并设置 /etc/cni/tuning/allowlist.conf 文件 sudo mkdir -p /etc/cni/tuning sudo touch /etc/cni/tuning/allowlist.conf sudo chmod 644 /etc/cni/tuning/allowlist.conf + sudo chown -R $(whoami) /etc/cni } # 重启 containerd 服务