# MIXAPI Docker 镜像构建说明 - 国内版本 本目录包含在国内服务器上构建 MIXAPI Docker 镜像的相关文件,针对国内网络环境做了优化。 ## 文件说明 | 文件 | 说明 | |------|------| | `Dockerfile` | Docker 镜像构建文件(使用华为云镜像源,基于 debian:stable-slim) | | `common.sh` | 公共函数库(使用 GitHub 代理加速) | | `run.sh` | 主启动脚本(构建时下载初始版本、运行时设置定时任务) | | `check_update.sh` | 更新检测脚本(由 crontab 定时调用) | | `buildDockerImage_u24_docker.ps1` | Windows 构建脚本(远程构建并推送) | ## 构建方法 ```bash # 进入国内版本目录 cd mixapi/china # 构建镜像 docker build -t mixapi:latest . # 多架构构建(需要 buildx) docker buildx build --platform linux/amd64,linux/arm64 -t mixapi:latest --push . ``` ## 国内加速优化 ### 1. Docker 基础镜像加速 使用华为云镜像源拉取基础镜像: | 原始镜像 | 加速镜像 | |----------|----------| | `debian:stable-slim` | `swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/debian:stable-slim` | > 注:使用 debian:stable-slim 而非 busybox:glibc,因为 busybox 不支持 QEMU 模拟,无法进行多架构构建。 ### 2. GitHub 代理加速 通过代理加速 GitHub API 和文件下载: | 项目 | 配置 | |------|------| | 默认代理 | `https://gh.llkk.cc` | | GitHub API | `${GITHUB_PROXY}/https://api.github.com/repos/aiprodcoder/MIXAPI/releases/latest` | | 文件下载 | `${GITHUB_PROXY}/https://github.com/aiprodcoder/MIXAPI/releases/download/` | ### 3. 可用的 GitHub 代理 | 代理名称 | 地址 | 状态 | |----------|------|------| | gh.llkk.cc | `https://gh.llkk.cc` | ✅ 推荐 | | ghproxy.cn | `https://ghproxy.cn` | 可用 | | ghproxy.net | `https://ghproxy.net` | 可用 | ## 工作原理 ### 构建时 1. 使用华为云镜像源拉取 `debian:stable-slim` 基础镜像 2. 复制脚本文件到 `/app/` 目录 3. 运行 `run.sh OnlyUpdate` 通过代理下载当前最新版本的 MIXAPI ### 运行时 1. 设置 crontab 定时任务(每天执行一次更新检测) 2. 启动 cron 后台服务 3. 后台执行一次更新检测(通过代理) 4. 前台启动 MIXAPI 服务 ### 定时更新 - 每天在容器启动时间的上一分钟执行更新检测 - 检测到新版本时自动通过代理下载并热更新 - 更新日志记录在 `/app/update.log` ## 支持架构 - `linux/amd64` (x86_64) - `linux/arm64` (aarch64) ## 端口 - `3000`: MIXAPI 服务端口 ## 数据目录 - `/data`: 工作目录,建议挂载持久化存储 - `/app`: 程序目录,包含可执行文件和脚本 ## 相关文档 - [镜像使用说明](USAGE.md) - 如何使用构建好的镜像