在 Windows Docker 中通过 vLLM 镜像启动指定大模型的方法与步骤
本文汇总了在 Windows Docker 环境下,利用 vLLM 镜像通过 docker run
命令启动自定义大模型(如 Qwen3-32B-AWQ)的完整流程,包含单卡启动、多卡启动(含 NCCL 失败解决) 及常见问题排查,确保覆盖历史操作中的关键配置与坑点。
一、单卡启动
1.1 单卡启动命令(可直接复制执行)
docker run --gpus "device=0" `--restart always `--name vllm_Qwen3-32B-AWQ `-p 8000:8000 `-v "E:\models\Qwen3-32B-AWQ:/app/models/Qwen3-32B-AWQ" `vllm/vllm-openai:v0.10.1.1 `--model /app/models/Qwen3-32B-AWQ `--served-model-name Qwen3-32B-AWQ `--tensor-parallel-size 1 `--gpu-memory-utilization 0.8 `--max-num-batched-tokens 8192 `--host 0.0.0.0 `--port 8000 `--trust-remote-code
1.2 命令参数解释(与上述命令逐条对应)
参数 | 功能说明 |
---|---|
--gpus "device=0" | 指定使用的 GPU(GPU ID 从 0 开始,可在 PowerShell 中执行 nvidia-smi 查看 GPU ID)。 |
--restart always | 容器意外退出(如 Windows 重启、模型崩溃)时自动重启,保障服务稳定性。 |
--name vllm_Qwen3-32B-AWQ | 给容器分配唯一名称,便于后续管理(如通过名称停止、重启容器)。 |
-p 8000:8000 | 将容器的 8000 端口(vLLM 默认 API 端口)映射到 Windows 主机的 8000 端口,外部可通过 localhost:8000 调用 API。 |
-v "E:\models\Qwen3-32B-AWQ:/app/models/Qwen3-32B-AWQ" | 将 Windows 本地模型目录挂载到容器内目录。需确保本地目录包含完整模型文件(如 config.json 、tokenizer.model 、*.safetensors 权重文件)。 |
vllm/vllm-openai:v0.10.1.1 | 使用指定版本的 vLLM 镜像(v0.10.1.1 对 Qwen 模型兼容性稳定,也可替换为 latest 以使用最新版本)。 |
--model /app/models/Qwen3-32B-AWQ | 容器内模型文件的路径,必须与 -v 参数中 “容器端路径” 完全一致,否则模型无法找到。 |