一键部署AI全栈:Docker+Ollama实战指南
·
环境准备
确保服务器已安装Docker和Docker Compose。Ollama作为大模型服务需单独安装,可通过官方脚本快速部署:
curl -fsSL https://ollama.com/install.sh | sh
前端部署配置
创建前端Docker镜像时,需基于Node环境构建静态文件。示例Dockerfile:
FROM node:18 as builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
对应的Nginx配置需处理跨域和路由重定向:
server {
listen 80;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://backend:8000;
}
location /ollama {
proxy_pass http://ollama:11434;
}
}
后端服务部署
后端Dockerfile需包含Python环境和依赖安装:
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "app.wsgi"]
容器编排配置
docker-compose.yml需整合所有服务:
version: '3.8'
services:
frontend:
build: ./frontend
ports:
- "80:80"
depends_on:
- backend
- ollama
backend:
build: ./backend
environment:
- OLLAMA_HOST=ollama:11434
ports:
- "8000:8000"
ollama:
image: ollama/ollama
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
volumes:
ollama_data:
部署与验证
- 构建并启动容器:
docker-compose up -d --build
- 验证Ollama服务连通性:
curl http://localhost:11434/api/tags
- 前端访问测试应自动重定向到index.html,后端API请求需通过
/api路径代理。
注意事项
- Ollama首次运行会自动下载模型文件,确保服务器磁盘空间充足
- 生产环境建议配置HTTPS,可通过Let's Encrypt生成证书
- 静态文件建议启用Nginx的gzip压缩和缓存控制
- 高并发场景需调整Gunicorn的worker数量:
# gunicorn_config.py
workers = 4
threads = 2
更多推荐



所有评论(0)