配置gpu驱动、docker和vllm过程
作者:Annnclaire
文章主要介绍了在Ubuntu 22.04上安装Docker并运行vllm模型的具体步骤,包括安装驱动、卸载旧版本Docker、更新系统软件包、添加Docker官方GPG密钥和阿里云Docker软件源、安装Docker、加入docker组、验证安装、拉取vllm镜像、下载模型、配置docker-compose
一、安装驱动
1. 查看推荐驱动版本
ubuntu-drivers devices
2. 自动安装推荐驱动
sudo ubuntu-drivers autoinstall
或者手动安装推荐版本
sudo apt update sudo apt install nvidia-driver-590-open
3. 完成后重启
sudo reboot
4. 检查是否成功
nvidia-smi
正常到这里结束,如果没成功加载则需要
sudo modprobe nvidia sudo systemctl enable nvidia-persistenced
二、Ubuntu 22.04 安装 Docker
1. 卸载旧版本Docker
sudo apt-get remove docker docker-engine docker.io containerd runc
2. 更新系统软件包
sudo apt update && sudo apt upgrade -y
3. 安装必要的依赖包
sudo apt-get install ca-certificates curl gnupg lsb-release
4. 添加 Docker 官方 GPG 密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
5. 添加阿里云 Docker 软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
6. 再次更新包,安装 Docker
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
7. 将当前用户加入 docker 组,后期免 sudo 执行 docker 命令
sudo usermod -aG docker $USER
执行后需要重启或重新登录才能生效:
sudo reboot
8. 验证安装是否成功
# 启动服务 sudo systemctl start docker # 设置开机自启 sudo systemctl enable docker
运行测试容器:
docker run hello-world
三、拉取最新版本vllm镜像
docker pull vllm/vllm-openai:latest
四、下载模型到服务器并配置docker compose
1. 下载qwen模型
这里是在根目录运行,灵活调整
python3 -c "from huggingface_hub import snapshot_download; snapshot_download(repo_id='Qwen/Qwen3-8B', local_dir='./qwen3-docker/models/Qwen3-8B')"
2. 新建docker compose.yaml
services:
vllm:
container_name: vllm
restart: no
image: vllm/vllm-openai:latest
ipc: host
volumes:
- ./models:/models
command: ["--model", "/models/Qwen3-8B", "--served-model-name", "qwen3-8b", "--gpu-memory-utilization", "0.90", "--max-model-len", "8192"]
ports:
- 8000:8000
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
environment:
- LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:/usr/local/cuda/lib64:${LD_LIBRARY_PATH}3. 运行docker
docker compose up -d
4. 查看输出
docker compose logs -f
五、杂项
进入容器
docker exec -it 【contrainer id】 /bin/bash docker compose exec dl bash
测试能不能跑模型
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-8b",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who won the World Series in 2020?"
}
],
"stream": true
}'
监控流量
watch -n 1 "netstat -i | grep ens21f0"
sudo apt install iftop -y sudo iftop -i ens21f0
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
