隔离开发环境
本教程介绍如何通过 Container Use MCP 与 goose 配合,构建隔离开发环境。借助这套方式,你的开发实验会同时隔离在 git 分支和容器中,因此可以放心尝试,而不影响主系统状态。
Container Use MCP 为隔离开发提供了一种非常适合 agent 的工作方式,它依赖 Docker、copy-on-write 文件系统等机制,让环境隔离、可重置、可并行。
概览
Container Use MCP server 提供了与 goose 深度集成的容器化开发环境。你可以借此:
- 在独立 git 分支中工作
- 在容器里运行代码,而不影响本机环境
- 需要时快速清空重来
- 在不同实验和项目之间保持清晰隔离
- 并行推进多项尝试
已经在用 Devcontainers?
如果你本来就在 Docker 容器里做开发(例如 VS Code Remote-Containers),可以直接看如何在现有容器里运行扩展。
前置条件
安装与配置
完整安装和配置步骤见 Container Use Extension 教程。
使用方式
启用这个扩展之后,你就可以直接在与 goose 的对话里表达“我要在隔离环境中工作”。
功能实验
你可以直接说:
I want to experiment with adding a new feature, but I want to do it in an isolated environment so I don't affect my main codebase.
goose 会自动:
- 为你的工作创建一个新的 git 分支
- 搭起容器化环境
- 确保所有改动都和宿主机隔离
尝试不同实现路线
Let me try a completely different approach to this algorithm. Can you set up an isolated environment where I can experiment?
学习新技术
I want to try out this new framework, but I don't want to install all its dependencies on my main system.
主要收益
- 安全性:不会破坏本地主要开发环境
- 可复现:容器环境更稳定
- 易清理:实验失败后直接丢弃容器和分支
- 适合并行探索:多个方案互不干扰
- 版本可追踪:所有改动都落在独立 git 分支里
- 易于回滚:失败实验可以直接丢弃
常见工作流
功能开发
- 和 goose 讨论一个新功能
- 请求创建隔离开发环境
- goose 创建分支和容器
- 在里面开发和测试
- 成功就合并;失败就直接丢弃
依赖探索
- 让 goose 帮你试一个新库或新工具
- 在隔离容器里安装依赖和运行实验
- 验证兼容性和可用性
- 再决定是否把它带回主项目
重构
- 为大规模重构请求隔离环境
- 在分支和容器中安全修改
- 完整测试后再决定是否合并
- 如果失败,直接回滚即可
故障排查
常见问题
Docker 没有运行
- 确认 Docker Desktop 已安装并启动
- 使用
docker info检查 daemon 状态
权限问题
- 确认当前用户有执行 Docker 命令的权限
- 在 Linux 上,可把用户加入 docker 组:
sudo usermod -aG docker $USER
Git 问题
- 确认 Git 已配置 user name / email
- 确认当前目录本身就是一个 Git 仓库
获取帮助
如果仍然遇到问题:
- 查看 Container Use GitHub 仓库 文档
- 逐项确认前置条件是否都满足
- 到 Discord 社区 寻求帮助
下一步
启用 container-use 后,你已经具备用更安全方式探索项目的基础。挑一个你之前一直不敢轻易试的任务,让 goose 为你搭起一个安全、隔离的实验环境。
记住:有了隔离环境,就不存在“把主代码库改坏”的失败实验,只有成本更低的学习和迭代。