30字高效部署AI应用:Docker+Nginx+Ollama全栈指南
·
部署架构概述
部署采用Docker容器化方案,前端使用Nginx作为静态资源服务器,后端通过Ollama处理AI模型推理,三者通过Docker网络互联。前端打包后的静态文件由Nginx托管,API请求通过反向代理转发至后端服务。
环境准备
-
安装Docker
确保宿主机已安装Docker Engine及Docker Compose。Linux系统可通过以下命令安装:curl -fsSL https://get.docker.com | sh systemctl enable --now docker -
获取Ollama镜像
拉取官方Ollama镜像并测试运行:docker pull ollama/ollama docker run -d -v ollama_data:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
前端部署(Nginx)
-
构建前端静态文件
在Vue/React项目中执行打包命令生成dist目录:npm run build -
编写Nginx配置
创建nginx.conf文件,配置静态资源服务和API反向代理:server { listen 80; root /usr/share/nginx/html; location / { try_files $uri $uri/ /index.html; } location /api { proxy_pass http://backend:11434; proxy_set_header Host $host; } } -
Dockerfile构建镜像
创建包含Nginx和前端文件的Docker镜像:FROM nginx:alpine COPY dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf
后端部署(Ollama)
-
模型准备
通过Ollama CLI拉取所需模型(以llama2为例):docker exec ollama ollama pull llama2 -
API服务暴露
确保Ollama容器的11434端口已映射到宿主机,可通过http://localhost:11434访问API。
Docker Compose集成
创建docker-compose.yml统一管理服务:
version: '3'
services:
frontend:
build: ./frontend
ports:
- "80:80"
depends_on:
- backend
backend:
image: ollama/ollama
volumes:
- ollama_data:/root/.ollama
ports:
- "11434:11434"
volumes:
ollama_data:
启动所有服务:
docker-compose up -d
验证与调试
-
检查容器状态
使用docker ps确认所有容器正常运行。 -
测试API连通性
通过curl验证后端服务:curl http://localhost:11434/api/generate -d '{"model":"llama2"}' -
前端访问
浏览器打开http://localhost应显示前端页面,API请求自动代理至后端。
常见问题处理
- 跨域问题:确保Nginx配置中添加
proxy_set_header相关头信息。 - 模型加载失败:检查Ollama容器日志确认模型是否完整下载。
- 静态资源404:验证
dist目录是否正确复制到Nginx容器内。
更多推荐




所有评论(0)