Dockerfile 与环境路径
定义基础镜像和构建上下文,理解 environment.json 的特殊路径规则。
Dockerfile 用于固定系统工具、编译器、调试器和基础镜像。Cursor 自行克隆仓库并检出正确提交,不要 COPY 整个项目来代替这个流程。
最小配置
项目 .cursor/environment.json 可引用 .cursor/Dockerfile:
{
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"install": "pnpm install && ./custom_script.sh"
}示例 install 只适用于实际提供 pnpm 项目和脚本的仓库,应换成项目的真实准备流程。私有包下载凭据使用 build secrets。
路径规则
build.dockerfile 和 build.context 相对于 .cursor。省略 context 时默认为 .cursor,但值 .、./、.. 被特殊处理为仓库根。
因此想在 Dockerfile 中用裸文件名 COPY .cursor 内文件时,应省略 context,而不是把它设为 .。install 始终从项目根运行。
缓存与分支
Dockerfile 使用 layer cache,变动后重建受影响层。Build 配置来自环境默认分支;测试 feature branch 的配置变更时,先提交并推送该分支,再从对应分支启动 Agent。
启动会复用 active Build 的准备状态,然后检出指定分支。依赖有变化时,Agent 可按 install 指令刷新环境;不要假定缓存依赖与所有分支完全相同。
Docker 与桌面支持
云端支持 Docker,但它运行在另一层容器环境内。简单流程需要安装 Docker 并启动 daemon;复杂环境官方推荐 fuse-overlayfs、iptables-legacy,并确保运行用户具备 Docker 权限。完整安装示例以官方页面为准。
Dockerfile 基于 Debian/Ubuntu 的仓库支持 computer use,其他 Linux 发行版需联系支持确认。默认 VM 的 CPU 与内存有限,Enterprise 可联系支持申请提高限制,本文不猜测未公开资源数值。