05 Go Eino AI应用开发实战 | Docker 部署指南
本指南提供了使用 Docker 和 Docker Compose 部署 Go-Eino Interview Agent 平台的全面说明。该平台由多个微服务组成,包括 Go 后端、Next.js 前端、MySQL 数据库、Redis 缓存以及用于 AI 功能的可选 Milvus 向量数据库。
架构概述
部署架构采用微服务模式,包含以下核心组件:
- 外部访问
- Docker 网络
- 端口 80
- 端口 80
- /api/*
- /*
- Nginx 反向代理
- 前端 :3000
- 后端 :8888
- MySQL :3306
- Redis :6379
- Etcd :2379
- 用户浏览器
- API 客户端
前置条件
在开始部署之前,请确保已安装以下软件:
- Docker(版本 20.10 或更高)
- Docker Compose(版本 2.0 或更高)
- Git 用于克隆仓库
- 至少 4GB RAM 以获得最佳性能
快速开始
运行平台最快的方式是使用提供的 Docker Compose 配置:
bash
git clone <repository-url> cd go-eino-interview-agent # 启动所有服务 docker compose -f docker-compose.yml up -d # 检查服务状态 docker compose ps应用程序将在以下地址可用:
- 前端:http://localhost
- 后端 API:http://localhost/api
- MySQL:localhost:3307
- Redis:localhost:6379
部署配置
项目为不同的部署场景提供了三种 Docker Compose 配置:
配置
用途
主要特性
docker-compose.yml
开发
包含 Nginx 代理的全栈服务,暴露外部端口
docker-compose-prod.yml
生产
为生产环境优化,内部网络通信
docker-compose-example.yml
模板
包含示例的配置参考
开发环境部署
开发配置文件 docker-compose.yml 包含:
- Nginx 反向代理,监听端口 80
- 所有服务的外部端口暴露
- 健康检查用于服务监控
- 数据持久化的卷挂载
生产环境部署
生产配置文件 docker-compose-prod.yml 针对以下方面进行了优化:
- 内部网络通信(减少外部暴露)
- 生产环境变量
- 优化的构建参数
- 安全加固
对于生产部署,请始终使用环境变量来管理敏感数据,如数据库密码和
