镜像打包与部署,支持ollama,vllm,lms等方式,自动部署到suanli.cn
- 安装了Docker环境
- Git工具
- clone项目
git clone https://github.com/slmnb-lab/llm-deployment.git
- 修改
ollama
目录下的ollama_pull.sh
文件中的模型名称。
模型列表参考 Ollama官网
#!/bin/bash
ollama serve &
sleep 15
ollama pull qwen3:30b-a3b # 替换成你需要的模型
- 修改
ollama
目录下的compose.yml
文件中的模型名称。
开始之前需要在suanli.cn中创建一个镜像仓库,镜像仓库名称为
qwq
,镜像标签为30b-a3b
。访问这里 初始化镜像仓库
harbor.suanleme.cn/xuwenzheng/qwen3:30b-a3b 是suanli.cn中创建的镜像仓库地址,这个参数在部署服务的时候会用到,记得替换成你的镜像仓库地址。
services:
qwq:
image: harbor.suanleme.cn/xuwenzheng/qwen3:30b-a3b ## 这里是suanli.cn中创建的镜像仓库地址 harbor.suanleme.cn 是仓库地址 xuwenzheng 是账号名称 qwen3 是镜像名称 30b-a3b 是镜像标签
build: .
labels:
- suanleme_0.http.port=11434 # 这里是ollama运行的端口,不要修改
- suanleme_0.http.prefix=qwen332b # 这里是发布到的suanli.cn的回传域名
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
ports:
- "11434:11434" # 这里是ollama运行的端口,不要修改
- 运行打包脚本
cd llm-deployment/ollama # 进入ollama目录
docker compose build # 打包镜像
- clone项目
git clone https://github.com/slmnb-lab/llm-deployment.git
- 修改
ollama-webui
目录下的start.sh
文件中的模型名称。
模型列表参考 Ollama官网
#!/usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR" || exit
# 启动ollama服务
ollama serve &
# 等待ollama服务启动
until curl -s http://localhost:11434 > /dev/null; do
echo 'Waiting for Ollama service to start...';
sleep 1;
done
# 等待ollama服务启动完成
sleep 15
# 设置默认模型
DEFAULT_MODEL=${DEFAULT_MODEL:-qwen3:30b-a3b} ## 这里替换为你需要打包的模型,默认为qwen3:30b-a3b
- 修改
ollama-webui
目录下的compose.yml
文件中的模型名称。
开始之前需要在suanli.cn中创建一个镜像仓库,镜像仓库名称为
{yourusername}
,镜像标签为30b-a3b
。访问这里 初始化镜像仓库
harbor.suanleme.cn/{yourusername}/qwen3:30b-a3b 是suanli.cn中创建的镜像仓库地址,这个参数在部署服务的时候会用到,记得替换成你的镜像仓库地址。
services:
ollama-webui-qwen3:
image: harbor.suanleme.cn/{yourusername}/ollama-webui-qwen3:30b-a3b ## 这里是suanli.cn中创建的镜像仓库地址 harbor.suanleme.cn 是仓库地址 {yourusername} 是账号名称 ollama-webui-qwen3 是镜像名称 30b-a3b 是镜像标签
build: .
labels:
- suanleme_0.http.port=11434 # 这里是ollama运行的端口,不要修改
- suanleme_0.http.prefix=llama-webui-qwen3 # 这里是发布到的suanli.cn的回传域名
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
ports:
- "11434:11434" # 这里是ollama运行的端口,不要修改
- 运行打包脚本
cd llm-deployment/ollama-webui # 进入ollama目录
docker compose build # 打包镜像
- clone项目
git clone https://github.com/slmnb-lab/llm-deployment.git
- 修改
vllm
目录下的dockerfile
文件中的模型名称。
模型列表参考 魔搭社区
FROM vllm/vllm-openai:v0.8.5
# 安装必要的依赖
RUN uv pip install --system vllm[audio]==0.8.5
# 创建模型目录
RUN mkdir -p /root/models/Qwen/Qwen3-32B
# 复制模型文件到镜像中
ADD ./models/Qwen/Qwen3-32B /root/models/Qwen/Qwen3-32B
# 设置工作目录
WORKDIR /models
# 设置环境变量
ENV MODEL_PATH=/root/models/Qwen/Qwen3-32B
ENV TENSOR_PARALLEL_SIZE=1
# 暴露默认的 OpenAI API 端口
EXPOSE 8000
# 启动命令
CMD ["--model", "/root/models/Qwen/Qwen3-32B", \
"--host", "0.0.0.0", \
"--tensor-parallel-size", "$TENSOR_PARALLEL_SIZE", \
"--port", "8000"]
- 修改
vllm
目录下的compose.yml
文件中的模型名称。
开始之前需要在suanli.cn中创建一个镜像仓库,镜像仓库名称为
{yourusername}
,镜像标签为32b
。访问这里 初始化镜像仓库
harbor.suanleme.cn/{yourusername}/qwen3-vllm:32b 是suanli.cn中创建的镜像仓库地址,这个参数在部署服务的时候会用到,记得替换成你的镜像仓库地址。
services:
Qwen3-vllm:
image: harbor.suanleme.cn/{yourusername}/qwen3-vllm:32b
build: .
labels:
- suanleme_0.http.port=8000
- suanleme_0.http.prefix=qwen3-vllm
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
ports:
- "8000:8000"
- 安装modelscope 工具
具体步骤参考:
modelscope download --model Qwen/Qwen3-32B
## 执行完毕之后,模型默认会下载到目录:/root/.cache/modelscope/hub/models
- 切换到模型下载所在的目录
以ubuntu操作系统为例,目录在
/root/.cache/modelscope/hub/models
windows系统用户在C:\Users\{youros username}\.cache\modelscope\hub\models
cd /root/.cache/modelscope/hub/models
## 将git仓库中的文件复制到当前目录
cp {yourdir}/llm-deployment/vllm/dockerfile .
cp {yourdir}/llm-deployment/vllm/compose.yml .
- 运行打包脚本
cd /root/.cache/modelscope/hub/models # 进入ollama目录
docker compose build # 打包镜像
将打包的镜像上传到suanleme.cn
- 登录镜像仓库
docker login harbor.suanleme.cn --username=xuwenzheng
## 输入密码
*******
- 上传镜像
## 为新生成的镜像打上标签
docker tag harbor.suanleme.cn/xuwenzheng/qwen3:30b-a3b harbor.suanleme.cn/xuwenzheng/qwen3:30b-a3b
## 上传镜像
docker push harbor.suanleme.cn/xuwenzheng/qwen3:30b-a3b
点击这里 部署服务 ,登录后根据页面提示进行部署。
- 支持Ollama
- [] 支持VLLM
- [] 支持LMS