
vLLM Docker镜像是基于vLLM项目构建的容器化解决方案,专注于大语言模型(LLM)的高效推理与服务部署。vLLM项目起源于加州大学伯克利分校Sky Computing实验室,现为PyTorch基金会托管项目,以高性能、低资源消耗、易用性为核心优势,通过创新的内存管理和计算优化技术,实现LLM服务的高吞吐量和低延迟。
主要用途:
/v1/completions、/v1/chat/completions),便于现有系统集成。适用于需要处理大量并发请求的场景(如聊天机器人、智能客服),通过连续批处理和PagedAttention实现高GPU利用率。
通过量化技术(如INT4/INT8)和内存优化,在显存有限的硬件(如消费级GPU)中运行大模型。
支持多模态模型(如LLaVA)和混合专家模型(如Mixtral),满足复杂任务需求(如图文理解、多领域知识融合)。
可在NVIDIA GPU(主流场景)、AMD GPU/CPU(低成本替代方案)、Intel x86架构(边缘设备)等环境中部署,降低硬件依赖。
提供简洁的接口和配置方式,便于快速验证模型性能、测试新量化方案或推理优化技术。
基础命令(NVIDIA GPU环境)
通过docker run直接启动vLLM服务,示例如下(以Llama-2-7b模型为例):
bashdocker run -it --gpus all \ -p 8000:8000 \ -e MODEL_PATH="meta-llama/Llama-2-7b-hf" \ vllm/vllm:latest \ serve \ --model ${MODEL_PATH} \ --port 8000 \ --host 0.0.0.0 \ --max-num-seqs 256 \ --quantization awq # 可选,如使用量化模型
参数说明
--gpus all:启用所有GPU(仅NVIDIA环境)。-p 8000:8000:映射容器端口8000到主机,用于API访问。MODEL_PATH:指定模型路径,支持Hugging Face Hub模型ID(自动下载)或本地路径(需通过-v挂载)。serve:启动vLLM API服务模式。--model:模型路径或Hugging Face Hub ID。--port/--host:API服务端口和绑定地址。--max-num-seqs:最大并发序列数(控制批处理大小)。--quantization:量化方式(如awq、gptq、int4、int8,需模型支持)。本地模型挂载(如需使用私有模型)
若模型存储在本地路径/path/to/local/model,通过-v挂载到容器中:
bashdocker run -it --gpus all \ -p 8000:8000 \ -v /path/to/local/model:/app/model \ vllm/vllm:latest \ serve \ --model /app/model \ --port 8000 \ --host 0.0.0.0
创建docker-compose.yml文件,定义服务配置(以多GPU分布式推理为例):
yamlversion: '3.8' services: vllm-service: image: vllm/vllm:latest runtime: nvidia # 或使用deploy.resources.device_requests(Docker 23.0+) ports: - "8000:8000" environment: - MODEL_PATH=mistralai/Mixtral-8x7B-Instruct-v0.1 - CUDA_VISIBLE_DEVICES=0,1 # 指定使用GPU 0和1(分布式推理) command: > serve --model ${MODEL_PATH} --port 8000 --host 0.0.0.0 --tensor-parallel-size 2 # 张量并行度(需与GPU数量匹配) --max-batch-size 64 --quantization gptq --streaming # 启用流式输出 volumes: - ./cache:/root/.cache/huggingface/hub # 挂载模型缓存目录,避免重复下载 restart: unless-stopped
启动服务:
bashdocker-compose up -d
| 参数名 | 说明 | 示例值 |
|---|---|---|
--model | 模型路径(Hugging Face Hub ID或本地路径) | meta-llama/Llama-2-7b-hf |
--port | API服务端口 | 8000 |
--host | 绑定地址(0.0.0.0表示允许外部访问) | 0.0.0.0 |
--quantization | 量化方式(需模型支持) | awq、gptq、int4、fp8 |
--tensor-parallel-size | 张量并行度(分布式推理时GPU数量) | 2(使用2张GPU) |
--max-batch-size | 最大批处理大小(控制GPU内存占用) | 64 |
--max-num-seqs | 最大并发序列数 | 256 |
--streaming | 启用流式输出(SSE) | (无需值,添加即启用) |
--openai-api-compatible | 启用OpenAI兼容API(支持/v1/completions等端点) | (无需值,添加即启用) |
| 环境变量名 | 说明 | 示例值 |
|---|---|---|
CUDA_VISIBLE_DEVICES | 指定可用GPU(逗号分隔ID) | 0,1(仅使用GPU 0和1) |
MODEL_PATH | 模型路径(可替代--model参数,通过环境变量传递) | /app/model |
HUGGINGFACE_HUB_CACHE | Hugging Face模型缓存目录(避免重复下载) | /root/.cache/huggingface/hub |
服务启动后,可通过HTTP请求验证API是否正常工作(以OpenAI兼容API为例):
bashcurl http://localhost:8000/v1/completions \ -H "Content-Type: application/json" \ -d '{ "model": "meta-llama/Llama-2-7b-hf", "prompt": "Hello, world!", "max_tokens": 50 }'
若返回包含生成文本的JSON响应,表明服务部署成功。
-v ./cache:/root/.cache/huggingface/hub),或提前通过huggingface-cli download下载模型到本地后挂载。--quantization int4/awq)、减小--max-batch-size或--max-num-seqs,或使用分布式推理(--tensor-parallel-size)拆分模型到多GPU。vllm/vllm:amd-latest),并通过HIP_VISIBLE_DEVICES指定设备,启动命令中无需--gpus参数。--streaming参数,且客户端支持SSE(如使用curl -N或浏览器EventSource API)。以下是 opea/vllm 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务