docker/docker-desktop-sandbox-desktop-module本镜像是一个专为编码代理设计的沙箱模块,旨在提供安全隔离的运行环境,用于隔离编码代理的代码执行过程。通过该沙箱,编码代理可在受限环境中执行代码、运行测试用例及调试程序,有效防止***代码或错误操作对主系统造成影响。主要用途包括:支持编码代理的开发与测试、隔离代码执行风险、保障主系统安全稳定运行。
通过docker run直接启动沙箱容器:
bashdocker run -d \ --name coding-agent-sandbox \ -e ALLOWED_LANGUAGES="python,javascript" \ # 允许执行的编程语言(逗号分隔) -e RESOURCE_LIMIT_MEM="1G" \ # 内存限制 -e RESOURCE_LIMIT_CPU="1" \ # CPU核心限制 -e LOG_LEVEL="info" \ # 日志级别(debug/info/warn/error) -v /path/to/local/logs:/app/logs \ # 挂载日志目录(可选) coding-agent-sandbox:latest
创建docker-compose.yml文件,定义沙箱服务:
yamlversion: '3' services: sandbox: image: coding-agent-sandbox:latest container_name: coding-agent-sandbox environment: - ALLOWED_LANGUAGES=python,javascript,java - RESOURCE_LIMIT_MEM=2G - RESOURCE_LIMIT_CPU=2 - NETWORK_ENABLED=false # 是否允许沙箱访问外部网络(默认false) - TASK_TIMEOUT=300 # 任务超时时间(秒,默认300) volumes: - ./sandbox-logs:/app/logs restart: unless-stopped
启动服务:docker-compose up -d
| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
ALLOWED_LANGUAGES | 允许在沙箱中执行的编程语言(逗号分隔) | python,javascript | python,java,c++ |
RESOURCE_LIMIT_CPU | 沙箱可使用的CPU核心数 | 1 | 2(限制为2核心) |
RESOURCE_LIMIT_MEM | 沙箱可使用的最大内存量 | 512M | 1G(限制为1GB) |
RESOURCE_LIMIT_DISK | 沙箱可使用的最大磁盘空间 | 1G | 2G(限制为2GB) |
NETWORK_ENABLED | 是否允许沙箱访问外部网络 | false | true(开启网络访问) |
TASK_TIMEOUT | 单个代码执行任务的超时时间(秒) | 300 | 60(超时时间1分钟) |
LOG_LEVEL | 日志输出级别 | info | debug(输出详细调试日志) |
LOG_OUTPUT_PATH | 沙箱日志存储路径(容器内路径) | /app/logs/sandbox.log | /var/log/sandbox/execution.log |
docker run或docker-compose命令启动沙箱服务。docker logs coding-agent-sandbox命令查看执行日志。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务