| 说明 | 删除沙箱环境及其作用域内的资源 |
| 用法 | sbx env rm [PATH...] [flags] |
实验性
此命令为实验性功能。
实验性功能仅用于测试和反馈,其功能或设计可能在不同版本之间无预警地发生变化,也可能在未来的版本中被完全移除。
描述
移除 sbxenv.yaml 中声明的沙箱,同时移除在其沙箱范围内置备的 密钥值(服务、自定义和镜像仓库凭据)。默认会保留全局凭据绑定,因为它们是 用户级别的,可能与其他沙箱共享;传入 --prune-bindings 可以同时移除此环境 声明的绑定。
每个 PATH 可以是目录(文件为 <PATH>/sbxenv.yaml),也可以是环境文件本身的路径。 传入多个 PATH 时会按顺序深度合并它们(与 docker-compose -f 的语义相同),因此 创建环境时使用的同一组文件在移除时仍会解析到同一个沙箱。
目录形式的 PATH 选定 sbxenv.yaml;文件形式的 PATH 选定该文件。 不传 PATH 时,如果存在 ~/.sbxenv.yaml,则它提供共享默认值。 显式指定的 PATH 会跳过这些默认值。后面的文件会覆盖前面的值。 沙箱端口和生效协议都相同的端口、名称相同的 MCP 服务器,以及容器目标相同的 额外工作区,都以后出现的条目为准,同一文件内重复出现的条目也一样。 Kit 参数按来源合并。entrypoint 和 cmd 数组会替换之前的值;其他列表则拼接。
选项
| 选项 | 默认值 | 说明 |
|---|---|---|
--env-arg | 环境文件所声明参数的取值,格式为 name=value(可重复) | |
--env-args-file | 包含 name=value 形式环境参数的文件,每行一个(可重复);--env-arg 优先 | |
-f, --force | 跳过确认提示,即使正在使用中(例如有打开的 SSH 连接)也删除 | |
--name | 沙箱名称,覆盖 sbxenv.yaml 中的 'name:' 以及推导出的 <agent>-<directory>(每个针对该环境的 'sbx env' 命令都需要传入相同的值) | |
--prune-bindings | 同时从全局 credentials.yaml 中移除该环境的绑定 | |
--skip-host-commands | 跳过宿主机 preRemove 命令,并停用该环境托管的宿主机 MCP 命令;环境删除成功时会一并删除它们的注册 |
全局选项
| 选项 | 默认值 | 说明 |
|---|---|---|
--cloud | 改为调用 Docker Cloud Sandboxes API,而不是本地 sandboxd(支持的动词正在逐步增加,运行 sbx --cloud --help 查看当前列表) | |
-D, --debug | 启用调试日志 | |
--no-input | 从不提示;需要应答的命令会直接失败,并给出应当运行的命令 |
示例
console
sbx env rm
# 同时移除该环境创建的凭据绑定
sbx env rm --force --prune-bindings ./project参见
sbx env— (实验性)通过 sbxenv.yaml 文件以声明方式管理沙箱