一、环境准备
前提:服务器已安装NVIDIA GPU驱动,系统为Ubuntu 20.04。
1. 安装Docker
bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
2. 安装NVIDIA-Docker
bash
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
apt-get update
apt-get install -y nvidia-docker2
systemctl restart docker
二、魔搭社区下载模型(ModelScope)
1. 安装ModelScope工具
bash
pip install modelscope
2. 下载Qwen3-8B模型(自定义路径)
bash
modelscope download --model Qwen/Qwen3-8B --local_dir /hy-tmp/models/deepseek/
模型将保存到:/hy-tmp/models/deepseek/,后续容器直接挂载此路径。
三、拉取Docker镜像
bash
# 拉取Open WebUI(CUDA版)
docker pull ghcr.io/open-webui/open-webui:cuda
# 拉取vLLM推理镜像
docker pull vllm/vllm-openai
四、启动vLLM容器(挂载魔搭模型)
bash
docker run -d \
--gpus all \
--restart unless-stopped \
--name deepseek-container \
--network host \
-v /hy-tmp/models/deepseek:/model \
vllm/vllm-openai:latest \
--model /model \
--served-model-name qwen3-8b \
--dtype half \
--api-key OPENWEBUI123
关键说明:
-v /hy-tmp/models/deepseek:/model:挂载魔搭下载的模型路径--served-model-name qwen3-8b:自定义服务模型名--api-key OPENWEBUI123:接口密钥(WebUI需保持一致)
五、启动Open WebUI容器
bash
docker run -d \
--name openwebui-container \
--network host \
--gpus all \
-e OPENAI_API_BASE_URL=http://localhost:8000/v1 \
-e OPENAI_API_KEYS=OPENWEBUI123 \
-e USE_CUDA_DOCKER=true \
ghcr.io/open-webui/open-webui:cuda
六、验证与访问
- 检查容器状态:
bash
docker ps
-
浏览器访问Open WebUI:
-
首次访问创建管理员账号,即可选择
qwen3-8b模型对话。
七、常见参数说明
| 参数 | 作用 |
|---|---|
--gpus all |
容器调用全部GPU |
--network host |
复用主机网络,端口直通 |
-v 本地路径:容器路径 |
模型目录挂载 |
--dtype half |
FP16精度,降低显存占用 |
--api-key |
接口鉴权密钥 |