You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode本地调试AWS SAM Lambda时Docker运行报错问题

AWS SAM本地调试Lambda触发Docker Filesharing has been cancelled 报错排查

问题表现

  • 完成AWS SAM、VSCodeAWS Toolkit配置后,sam build命令可正常执行
  • 执行sam local invoke调用函数、或通过VSCode调试模式启动函数时触发Docker相关错误,命令最终执行失败,退出码为1

报错日志核心特征

SAM构建完成后启动本地运行环境,跳过拉取流程直接使用本地已存储的public.ecr.aws/sam/emulation-python3.9:rapid-1.51.0-x86_64模拟镜像,在挂载临时构建目录到容器阶段抛出异常,Docker API返回500内部服务错误,核心错误提示为Filesharing has been cancelled

已完成排查动作

  • 已将AppData\Local\Temp\aws-toolkit-vscode路径加入Docker文件共享配置列表
  • 切换Docker引擎模式测试:开启WSL 2 based engine时触发其他不同报错,关闭WSL2引擎则稳定复现上述文件共享错误
  • 已在公开技术社区、AWS官方文档检索相关问题,暂未找到有效解决方案
  • 相同配置在个人笔记本设备上可正常运行,当前设备为企业办公环境,暂无法定位根因为权限管控还是Docker配置问题

可行排查方案

按优先级从高到低依次验证:

  1. 替换默认临时构建目录
    企业环境通常会对Windows系统临时目录加严格的读写、跨进程挂载管控,执行本地调用时手动指定非系统盘的自定义目录作为构建挂载路径,避开默认Temp目录:
    # 提前手动创建C:\sam-local-build目录,并将该目录加入Docker文件共享列表
    sam local invoke --build-dir C:\sam-local-build
    
    执行前重启Docker服务确保文件共享配置生效,排除系统临时目录的权限拦截问题。
  2. 独立验证Docker挂载能力
    跳过SAM流程直接测试Docker目录挂载是否正常,排除SAM本身的配置问题:
    docker run --rm -v C:\sam-local-build:/test public.ecr.aws/sam/emulation-python3.9:rapid-1.51.0-x86_64 ls /test
    
    如果该命令执行失败,说明问题出在Docker的文件共享配置或系统权限层,和SAM、AWS Toolkit无关。需要检查Docker File Sharing面板的路径勾选状态是否被企业组策略自动重置。
  3. WSL2引擎适配
    若使用WSL2 based引擎,不要将项目目录、构建目录放在Windows挂载的/mnt/c/路径下,需将代码迁移到WSL2发行版的原生文件系统中,同时确认WSL2的Docker集成权限未被安全软件拦截。
  4. 终端安全软件拦截校验
    企业终端管控软件常默认拦截Docker的跨文件系统挂载行为,若权限允许可临时退出安全管控软件重试,若操作后恢复正常,需联系企业IT管理员将Docker Desktop、SAM CLI相关进程加入操作白名单。

内容的提问来源于stack exchange,提问作者IanPoli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 02:18:36