用途:该技能用于在 Claude Code for Web 这类受限容器环境中安装并运行 Docker,解决 Docker 构建因 bridge 网络和 iptables 权限失败,以及代理拦截 HTTPS 引起的 SSL 证书错误。
识别方法:可通过检查代理环境变量(echo $http_proxy 显示代理 URL)、判断是否在容器内(test -f /.dockerenv)、以及 iptables -L 报 Permission denied 来确认处于该环境。
安装与启动:使用 sudo apt-get update && sudo apt-get install -y docker.io 安装 Docker;以 sudo dockerd --iptables=false --bridge=none & 启动守护进程,等待数秒后可用 docker info 验证。
构建镜像:标准构建会因尝试创建 bridge 网络而失败,应使用 csb build --host-network --insecure。--host-network 使用主机网络替代 bridge;--insecure 会为 curl 添加 -k 并关闭 npm strict-ssl,用于 SSL 拦截代理。
创建沙箱:csb create my-sandbox --egress=all,因代理容器需要 iptables 而无法工作。连接可使用 csb ssh dev。
常见错误处理:出现 iptables: Permission denied 或 network bridge not found 时,重启守护进程并带 --iptables=false --bridge=none;出现 SSL certificate problem 时使用 --insecure;npm 证书错误可临时执行 npm config set strict-ssl false。
限制:该环境不支持 bridge 网络,容器共享主机网络;无 egress 代理容器;构建时需禁用 SSL 验证;不支持 GPU 直通。清理可执行 docker stop $(docker ps -q) 并 sudo pkill dockerd。
以上内容均来自所提供资料,未提供的信息暂未提供。