如何基于已有卷重建VS Code Dev Container并挂载/workspaces?
基于已有卷重建VS Code Dev Container的操作方法及通用步骤
针对卷内已有.devcontainer.json的具体操作
- 确认目标卷名称:执行
docker volume ls列出所有本地卷,找到你需要恢复的卷的名称(比如my_dev_workspace)。 - 创建本地临时空文件夹:新建一个如
temp-dev-init的空文件夹,用VS Code打开这个文件夹。 - 生成基础配置文件:打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),选择「Dev Containers: Add Dev Container Configuration Files...」,随便选一个基础镜像(比如Ubuntu),生成
.devcontainer目录和配置文件。 - 修改挂载规则:打开
.devcontainer/devcontainer.json,添加mounts字段,指定将目标卷挂载到容器的/workspaces目录:"mounts": [ "source=你的卷名,target=/workspaces,type=volume" ] - 启动并加载容器:再次打开命令面板,选择「Dev Containers: Reopen in Container」。VS Code会启动新容器,挂载目标卷到
/workspaces,同时自动加载卷内的.devcontainer.json配置,完成容器重建。
基于已有卷创建Dev Container的通用步骤
- 确认卷状态:执行
docker volume ls定位目标卷,可选docker volume inspect 卷名查看卷的详细信息,确保内容完好。 - 准备本地触发目录:创建一个空的本地文件夹,作为VS Code启动Dev Container的入口(无需存放代码文件)。
- 配置挂载及容器规则:
- 要么通过VS Code命令生成
.devcontainer/devcontainer.json,要么手动创建该文件; - 在配置文件中添加
mounts字段,指定卷挂载到容器内的目标路径(通常为/workspaces):
若需要自定义基础镜像、预装工具等,可同时在配置文件中添加"mounts": [ "source=目标卷名,target=/workspaces,type=volume" ]image、features等字段。
- 要么通过VS Code命令生成
- 启动容器:在VS Code中打开本地空文件夹,通过命令面板选择「Dev Containers: Reopen in Container」,等待容器启动完成后,卷内内容会出现在指定挂载路径中。
- (可选)固化配置到卷内:如果卷中还没有
.devcontainer.json,将本地的配置文件复制到卷的/workspaces/.devcontainer目录下,后续可直接通过卷内配置重建容器。
内容的提问来源于stack exchange,提问作者tux007
相关产品推荐
相关产品推荐

