# 复制环境变量模板
cp .env.example .env
# 编辑 .env 文件,填入你的 API Key
nano .env国内用户:建议启用镜像源加速,在 .env 中配置:
DOCKER_REGISTRY=docker.1ms.run/
NPM_REGISTRY=https://registry.npmmirror.com/
GO_PROXY=https://goproxy.cn,direct# 构建并启动(必须使用 docker compose)
docker compose -p banana-pro up -d
# 查看日志
docker compose -p banana-pro logs -f
# 查看运行状态
docker compose -p banana-pro ps
⚠️ 注意:必须使用docker compose命令,才能读取.env文件中的配置。
浏览器打开:http://localhost:8080
| 变量名 | 说明 | 默认值 |
|---|---|---|
| 镜像源配置 | ||
DOCKER_REGISTRY |
Docker Hub 镜像源 | 空(官方源) |
NPM_REGISTRY |
npm 镜像源 | 空(官方源) |
GO_PROXY |
Go 模块代理 | https://goproxy.cn,direct |
| API 配置 | ||
GEMINI_API_KEY |
Gemini API 密钥 | - |
GEMINI_API_BASE |
Gemini API 地址 | https://generativelanguage.googleapis.com |
OPENAI_API_KEY |
OpenAI API 密钥 | - |
OPENAI_API_BASE |
OpenAI API 地址 | https://api.openai.com/v1 |
| 服务器配置 | ||
SERVER_HOST |
后端监听地址 | 0.0.0.0 |
SERVER_PORT |
后端监听端口 | 8080 |
TZ |
时区 | Asia/Shanghai |
如果遇到 Docker 拉取镜像慢的问题,可以配置以下镜像源:
# .env 文件
DOCKER_REGISTRY=docker.1ms.run/
NPM_REGISTRY=https://registry.npmmirror.com/
GO_PROXY=https://goproxy.cn,direct可选的 Docker 镜像源:
docker.1ms.run/- 稳定快速dockerpull.org/- 备用源dockerhub.icu/- 备用源
以下目录会自动挂载到宿主机:
./data/storage- 图片存储和数据库
如需修改其他配置,可以创建 config.yaml 文件:
# 从模板复制(可选,已有默认配置)
cp backend/configs/config.yaml ./config.yaml
# 编辑配置
nano config.yaml然后重启服务:
docker compose -p banana-pro restart# 启动服务
docker compose -p banana-pro up -d
# 停止服务
docker compose -p banana-pro down
# 重启服务
docker compose -p banana-pro restart
# 查看日志
docker compose -p banana-pro logs -f
# 进入容器
docker compose -p banana-pro exec banana-pro sh
# 重新构建镜像
docker compose -p banana-pro up -d --build
# 强制重新构建(无缓存)
docker compose -p banana-pro build --no-cache
docker compose -p banana-pro up -d
# 清理数据(危险操作!)
docker compose -p banana-pro down -v
rm -rf ./data/storageDocker 构建需要下载:
- 基础镜像(node、golang、alpine)
- npm 依赖包(前端)
- Go 模块(后端)
在 .env 文件中配置镜像源:
# Docker Hub 镜像源(注意末尾斜杠)
DOCKER_REGISTRY=docker.1ms.run/
# npm 淘宝镜像
NPM_REGISTRY=https://registry.npmmirror.com/
# Go 模块代理
GO_PROXY=https://goproxy.cn,direct# 查看构建日志
docker compose -p banana-pro build --progress=plain 2>&1 | grep -i "pulling\|downloading"如果看到从 docker.1ms.run 拉取镜像,说明配置成功。
# 启动带 Nginx 的完整栈
docker compose -p banana-pro --profile production up -d这将启动:
banana-pro- 主应用服务nginx- Nginx 反向代理(80/443 端口)
-
将 SSL 证书放入
docker/ssl/目录:docker/ssl/cert.pem docker/ssl/key.pem -
修改
docker/nginx-proxy.conf,启用 HTTPS 配置 -
重启服务:
docker compose -p banana-pro --profile production up -d --build
如果 8080 端口已被占用,可以修改映射端口:
# docker-compose.yml
ports:
- "8888:80" # 使用 8888 端口检查环境变量是否正确配置:
docker compose -p banana-pro exec banana-pro env | grep API检查存储目录权限:
ls -la ./data/storage确保目录存在且有写权限:
mkdir -p ./data/storage
chmod 755 ./data/storage如果从官方源拉取失败,请启用镜像源配置:
# 编辑 .env 文件
nano .env
# 取消以下行的注释(或添加)
DOCKER_REGISTRY=docker.1ms.run/
NPM_REGISTRY=https://registry.npmmirror.com/
GO_PROXY=https://goproxy.cn,direct
# 重新构建
docker compose -p banana-pro build --no-cache# 查看所有日志
docker compose -p banana-pro logs
# 实时跟踪日志
docker compose -p banana-pro logs -f --tail=100
# 只查看后端日志
docker compose -p banana-pro logs -f banana-pro | grep server| 服务商 | 特点 | 价格 | 官网 |
|---|---|---|---|
| 云雾API | 兼容 OpenAI 格式,稳定可靠 | 1K 图片 ¥0.08 | yunwu.ai |
| Google Gemini | 官方 API | 1K 图片 ≈ ¥0.94 | ai.google.dev |
┌─────────────────────────────────────────┐
│ Docker 容器 │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Nginx (端口 80) │ │
│ │ - / → 前端静态资源 │ │
│ │ - /api → 后端 API │ │
│ │ - /storage → 图片存储 │ │
│ └─────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────┐ │
│ │ Go Backend (端口 8080) │ │
│ │ - /api/v1/* │ │
│ │ - /storage/* │ │
│ └─────────────────────────────────┘ │
│ │
│ /app/storage (数据持久化) │
└─────────────────────────────────────────┘
Dockerfile- 镜像构建文件(支持 Build Args 配置镜像源)docker-compose.yml- 服务编排配置docker/nginx.conf- Nginx 配置config.yaml- 后端配置文件(可选).env.example- 环境变量模板.dockerignore- Docker 构建排除文件