前面小节我们通过conda创建虚拟Python环境,实现vLLM和OpenWebUI的配置,但是这个安装部署会非常繁琐非费时间。我们今天将使用容器来部署。环境还是使用ubuntu20.4,复用上个环境已经安装GPU驱动和模型文件。
1.安装Docker
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
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
3.下载镜像
docker pull ghcr.io/open-webui/open-webui:cuda
docker pull vllm/vllm-openai
4.运行vLLM容器
docker run -d \
--gpus all \
--restart unless-stopped \
--name deepseek-container \
--network host \
-v /root/deepseekr1_1.5b/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B:/model \
vllm/vllm-openai:latest \
--model /model \
--served-model-name deepseek-r1 \
--dtype half \
--api-key OPENWEBUI123
-d: 在后台运行容器。
--gpus all: 使用所有可用的 GPU。
--restart unless-stopped: 重启策略为除非手动停止,否则总是重启容器。
--network host:使用主机网络,等同在主机网络里面启动容器。
--name deepseek-container: 给容器命名为 deepseek-container
-v /root/deepseekr1_1.5b/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B:/model: 将主机上的模型目录挂载到容器内的 /model路径。
vllm/vllm-openai:latest: 使用的 Docker 镜像名称和标签。
--model /model: 指定在容器内部使用的模型路径。
--served-model-name deepseek-r1: 设置对外提供服务时的模型名称。
--dtype half: 使用 float16数据类型,我的显卡必须添加这个。
--api-key OPENWEBUI123: 设置 API 密钥。
5.运行Open WebUI容器
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
6.验证DeepSeek
#Open WebU访问地址,先创建管理员,然后进入对话界面,
http://x.x.x.x:8080