vllm docker
时间: 2025-01-08 13:52:50 浏览: 8
### vLLM Docker 镜像部署
对于希望利用 Docker 容器化技术来部署 vLLM 的场景,通常会遵循一系列特定的操作流程以确保模型能够高效运行。考虑到 GPU 加速的需求,在构建或选取适合的 Docker 镜像时,应当确保所选镜像内已经包含了必要的 NVIDIA CUDA 和 cuDNN 库支持。
为了创建一个基于 vLLM 的应用环境,可以参照如下方式准备 Dockerfile 或者直接拉取官方提供的预配置镜像:
#### 方法一:使用现有的 vLLM Docker Hub 镜像
如果存在由社区维护的稳定版本,则可以直接从 Docker Hub 获取最新的 vLLM 镜像,并按照需求调整启动参数。例如:
```bash
docker pull vllm/vllm:latest
```
接着可以根据实际硬件情况以及应用程序的要求设定相应的环境变量与挂载路径,类似于下面的例子:
```bash
docker run -e ASCEND_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \
--gpus all \
--net=host \
-itd \
-u root \
--name=vllm_container \
-v /local/path/to/models:/models \
vllm/vllm:latest \
bash
```
此处 `-e ASCEND_VISIBLE_DEVICES=...` 设置了可见设备列表[^1];而 `--gpus all` 则指定了要使用的全部GPU资源[^4]。
#### 方法二:自定义构建 Docker 镜像
当没有合适的现成镜像可用时,可以选择自行编写 Dockerfile 来定制满足项目特殊需求的基础镜像。这可能涉及到安装额外依赖项、克隆仓库代码库并执行编译过程等操作。一个简单的例子可能是这样的:
```Dockerfile
FROM nvidia/cuda:11.7.0-base-ubuntu20.04
RUN apt-get update && apt-get install -y python3-pip git
WORKDIR /app
COPY . .
RUN pip3 install --no-cache-dir -r requirements.txt
CMD ["python3", "main.py"]
```
之后可以通过常规的方式构建此镜像并与上述相同的方法启动容器实例。
#### Web界面展示
一旦成功部署了包含 vLLM 模型的应用程序后,还可以考虑集成 Streamlit 进行可视化交互式的前端页面搭建。比如设置好模型加载位置和分词工具的位置后,通过指定端口让外部能访问到服务:
```bash
MODEL_PATH="/path/to/model"
TOKENIZER_PATH="/path/to/tokenizer"
streamlit run app.py --server.port 8088
```
此时可通过浏览器访问 http://localhost:8088 查看效果[^2]。
阅读全文