# build-docker **Repository Path**: fengfei/build-docker ## Basic Information - **Project Name**: build-docker - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-24 - **Last Updated**: 2026-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Rcoder Docker 构建系统 用于构建 Rcoder 服务 Docker 镜像的自动化构建项目,支持 AMD64 / ARM64 双架构。 ## 前置要求 - Git - Docker 19.03+ - Docker Buildx - Make ## 项目结构 ``` . ├── .env # 构建配置(仓库地址、分支等) ├── Makefile # 构建脚本 ├── build_config/rcoder/ │ ├── Dockerfile.base # 基础镜像(运行时依赖、工具链) │ ├── Dockerfile # 主镜像(Rust 编译 + 默认配置内置) │ ├── config.yml # rcoder 默认配置 │ ├── sub_app_multi_apps.conf # nginx 站点配置 │ ├── react-vite-template.zip # 项目初始化模板 │ ├── start-services.sh # 容器启动脚本 │ ├── .npmrc # npm 配置 │ └── code/ # 源代码(make setup 自动克隆) └── docker/ # 部署相关文件(按需添加) ``` ## 构建流程 构建分为三步:**拉取源码 → 构建基础镜像 → 构建主镜像**。 ### 一键构建(推荐) ```bash make all ``` 等价于依次执行 `setup` → `build-base` → `build`。 ### 分步构建 ```bash # 1. 克隆/更新源代码 make setup # 2. 构建基础镜像(包含 Node.js、pnpm、Rust 工具链、Chromium 等) make build-base # 3. 构建主镜像(编译 Rust 二进制 + 内置默认配置) make build ``` ### 仅构建单一架构 如果只需要当前平台的镜像(例如 Mac ARM64 开发机): ```bash # ARM64 make build-base-arm64 make build-rcoder-arm64 # AMD64 make build-base-amd64 make build-rcoder-amd64 ``` ## 所有 Make 命令 | 命令 | 说明 | |------|------| | `make help` | 显示帮助信息 | | `make setup` | 克隆/更新 rcoder 源代码 | | `make build-base` | 构建基础镜像(AMD64 + ARM64) | | `make build-base-amd64` | 构建基础镜像(仅 AMD64) | | `make build-base-arm64` | 构建基础镜像(仅 ARM64) | | `make build` | 构建主镜像(AMD64 + ARM64) | | `make build-rcoder-amd64` | 构建主镜像(仅 AMD64) | | `make build-rcoder-arm64` | 构建主镜像(仅 ARM64) | | `make all` | 完整流程:setup → build-base → build | | `make clean` | 清理源代码目录 | | `make info` | 显示当前构建配置 | ## 镜像说明 构建产出两层镜像: | 镜像 | 说明 | 重建频率 | |------|------|----------| | `rcoder:base-latest-{arch}` | 基础镜像,包含系统依赖和工具链 | 低(依赖变更时) | | `rcoder:latest-{arch}` | 主镜像,包含编译产物和默认配置 | 高(代码变更时) | 基础镜像平时不需要重新构建,只有修改系统依赖时才需要。日常开发只需: ```bash make setup && make build ``` ## 配置 ### .env ```env RCODER_REPO=https://github.com/nuwax-ai/rcoder.git RCODER_BRANCH=dev RCODER_DIR=rcoder RCODER_PORT=8086 ``` - `RCODER_BRANCH`:切换构建分支 - `MIRROR_PREFIX`:Docker 镜像加速前缀(通过命令行传入) ```bash # 使用镜像加速 make build MIRROR_PREFIX=mirror.example.com/ ``` ### 内置默认配置 主镜像内置了以下默认配置,容器启动即可运行。部署时可通过 docker-compose volumes 挂载覆盖: | 镜像内路径 | 来源文件 | 用途 | |-----------|---------|------| | `/app/config.yml` | `config.yml` | rcoder 主配置 | | `/etc/nginx/conf.d/default.conf` | `sub_app_multi_apps.conf` | nginx 站点配置 | | `/app/project_init/react-vite-template.zip` | `react-vite-template.zip` | 项目初始化模板 |