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

使用VS Code远程容器因只读文件系统无法保存文件变更

问题

使用微软的vscode-remote-try-python示例项目体验开发容器(dev-containers),构建、连接容器及运行应用均正常,但在远程容器内编辑文件并保存时,出现如下报错:

Failed to save 'app.py': Unable to write file 'vscode-remote://dev-container+2f55736572732f62726164656e2e6b696e6172642f706572736f6e616c2f7673636f64652d72656d6f74652d7472792d707974686f6e/workspaces/vscode-remote-try-python/app.py' (Unknown (FileSystemError): Error: EROFS: read-only file system, open '/workspaces/vscode-remote-try-python/app.py')

本地文件夹窗口编辑保存后,变更可同步至远程容器窗口,但无法在远程容器内直接编辑。当前使用Colima 0.2.2而非Docker Desktop,暂未发现其他关联问题,请问为何容器内的工作目录会处于只读状态?

解决方案
  • 检查Colima挂载权限配置
    Colima默认的文件挂载可能存在权限映射问题,可尝试重启Colima时指定更适配的挂载参数:

    colima stop
    colima start --mount-type 9p --mount-9p-version 9p2000.L --mount-9p-transport virtio
    

    或者启动时显式挂载用户目录确保权限正确:colima start --volume $HOME:$HOME

  • 检查.devcontainer配置的挂载规则
    打开.devcontainer/devcontainer.json,查看mounts字段是否给挂载目录加了只读限制。如果配置里有:ro或readonly后缀,直接移除即可恢复读写权限。
    例如将:

    "mounts": ["source=${localWorkspaceFolder},target=/workspaces/vscode-remote-try-python,type=bind,consistency=cached,readonly"]
    

    修改为:

    "mounts": ["source=${localWorkspaceFolder},target=/workspaces/vscode-remote-try-python,type=bind,consistency=cached"]
    
  • 修复容器内目录的所有者权限
    进入远程容器终端,执行命令查看目录权限:

    ls -ld /workspaces/vscode-remote-try-python
    

    如果目录所有者不是容器默认用户(通常是vscode),执行以下命令修改:

    sudo chown -R vscode:vscode /workspaces/vscode-remote-try-python
    

    也可以在devcontainer.json中添加"remoteUser": "vscode"字段,确保容器以正确用户身份运行。

  • 升级Colima版本
    Colima 0.2.2属于较旧版本,后续版本修复了不少挂载权限相关的bug。建议升级到最新稳定版后重新尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:30:58