DeepSeek-容器化(Docker)部署vLLM和Open WebUI

1.DeepSeek部署-Win版本

2.DeepSeek部署-Linux版本

3.DeepSeek部署-一键部署(Linux版本)

4.DeepSeek部署-进阶版本(Linux+GPU)

5.DeepSeek部署-基于vLLM部署

6.DeepSeek部署-部署Open WebUI

前面小节我们通过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

图片

这样我们就实现了容器化部署,除了下载镜像需要花费一点时间,其他操作相对比较简单.

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。