配置NVIDIA Container Runtime和容器运行GPUStack教程

GPUStack 是一个设计用于运行大模型的开源 GPU 集群管理器,提供私有部署的大模型服务,支持大语言模型、Embedding 文本嵌入模型、Reranker 重排序模型、Vision 多模态模型等各种模型。它可以聚合不同平台(如 Apple Macbook、Windows PC 和 Linux 服务器)的 GPU,构建一个统一的异构 GPU 集群。

在 Linux 中十分推荐使用 Docker 方式安装 GPUStack,可以避免很多依赖和冲突问题,简化安装过程。

今天带来一篇关于如何设置 NVIDIA 容器运行时并使用容器方式运行 GPUStack 的操作教程。

前置准备

验证当前环境有 NVIDIA GPU 硬件:

shell 复制代码
lspci | grep -i nvidia

验证系统已安装 GCC:

shell 复制代码
gcc --version

安装 NVIDIA 驱动

参考:https://developer.nvidia.com/datacenter-driver-downloads

为当前内核安装内核头文件和开发包:

shell 复制代码
sudo apt-get install linux-headers-$(uname -r)

安装 cuda-keyring 包:

shell 复制代码
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb

安装 NVIDIA 驱动:

shell 复制代码
sudo apt-get update
sudo apt-get install nvidia-open -y

重启系统:

shell 复制代码
sudo reboot

重新登录并检查 nvidia-smi 命令可用:

shell 复制代码
nvidia-smi

安装 Docker Engine

参考:https://docs.docker.com/engine/install/ubuntu/

执行以下命令卸载所有冲突的包:

shell 复制代码
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

设置 Docker 的 apt 仓库:

shell 复制代码
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装 Docker:

shell 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

检查 docker 命令可用:

shell 复制代码
docker info

安装 NVIDIA Container Toolkit

参考:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

配置 NVIDIA Container Toolkit 的生产仓库:

shell 复制代码
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

安装 NVIDIA Container Toolkit:

shell 复制代码
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit -y

使用 nvidia-ctk 命令配置容器运行时:

shell 复制代码
sudo nvidia-ctk runtime configure --runtime=docker

检查 daemon.json 文件的配置:

shell 复制代码
cat /etc/docker/daemon.json

重启 Docker daemon:

shell 复制代码
sudo systemctl restart docker

运行一个示例的 CUDA 容器来验证安装:

shell 复制代码
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

安装 GPUStack

参考:https://docs.gpustack.ai/latest/installation/docker-installation/

通过 Docker 安装 GPUStack:

shell 复制代码
docker run -d --gpus all -p 80:80 --ipc=host --name gpustack \
    -v gpustack-data:/var/lib/gpustack gpustack/gpustack

使用以下命令查看登录密码:

shell 复制代码
docker exec -it gpustack cat /var/lib/gpustack/initial_admin_password

在浏览器访问 GPUStack( http://YOUR_HOST_IP )以用户名 admin 和密码登录。设置密码后,登录进 GPUStack,查看识别到的 GPU 资源:

(可选)要添加额外的 Worker 节点,构建 GPU 集群,在其它工作节点上执行以下命令:

bash 复制代码
docker run -d --gpus all --ipc=host --network=host \
    gpustack/gpustack --server-url http://YOUR_HOST_IP --token YOUR_TOKEN

将其中的 http://YOUR_HOST_IP 替换为你的 GPUStack 访问地址,将 YOUR_TOKEN 替换为用于添加 Worker 的认证 Token。要从 GPUStack Server 检索 Token,使用以下命令:

bash 复制代码
docker exec -it gpustack cat /var/lib/gpustack/token

完成之后,尝试从 Hugging Face 或其它模型仓库部署模型:

在 Playground 中调测模型:

加入社区

以上为配置 NVIDIA 容器运行时环境并使用容器方式运行 GPUStack 的操作教程。

对 GPUStack 感兴趣或者在使用过程中遇到问题,可以添加 GPUStack 微信小助手(微信号:GPUStack)入群交流。

如果觉得写得不错,欢迎点赞转发关注

相关推荐
Fleshy数模12 小时前
基于 Qwen2.5-1.5B-Instruct 实现多轮对话与文本分类实践
人工智能·分类·大模型
米高梅狮子12 小时前
11.Quota and Limits、健康检查和认证与授权
云原生·容器·架构·kubernetes·自动化
星浩AI12 小时前
Claude Code 白嫖接入 DeepSeek V4 教程
llm·claude·vibecoding
Daydream.V13 小时前
本地部署大模型实现相关案例
大模型·本地部署大模型·本地模型案例
为儿打call13 小时前
基于 Git Hooks + LLM 实现根据自然语言规则进行 Code Review
大数据·llm
●VON14 小时前
鸿蒙原生APP开发实战指南:三套低成本AI辅助方案全解析
人工智能·华为·chatgpt·大模型·harmonyos·image
踏着七彩祥云的小丑14 小时前
AI——Docker部署Dify
docker·ai
深邃-14 小时前
【Web安全】-云服务器与Docker(2):Docker镜像操作,Docker容器操作,Docker搭建漏洞靶场
linux·服务器·web安全·网络安全·docker
Mr.朱鹏14 小时前
3.LangChain零基础速通-Prompt提示词模版和模型调用方法
人工智能·python·深度学习·langchain·llm·prompt·virtualenv
荔枝学Python14 小时前
Agent设计最强书籍:它真的把Agent讲解的非常透彻!!
人工智能·程序员·大模型·大语言模型·agent·ai大模型·智能体