如何更改 VS Code 远程容器中的默认卷挂载?

ain*_*ins 6 visual-studio-code vscode-remote

如何更改容器中打开的文件夹的默认卷装载?我已经尝试过Dockerfile:

RUN mkdir /root/myproject
WORKDIR /root/myproject
Run Code Online (Sandbox Code Playgroud)

以及我的.devcontainer.json:

{
    "name": "My Project",
    "dockerFile": "Dockerfile",
    "workspaceFolder": "/root/myproject",
}
Run Code Online (Sandbox Code Playgroud)

但该文件夹仍然安装/workspaces/myproject在容器内。

Mat*_*ner 7

更新

即将发布的 vscode-container 版本应该支持使用,workspaceFolder如您所示。详情请参阅本期。


如果您使用旧版本的远程扩展,则在使用单个 dockerfile 时无法执行此操作,但您可以使用docker-compose dev 容器的workspaceFolder设置来执行此操作:

.devcontainer/devcontainer.json:

{
    "name": "My Project",
    "dockerComposeFile": "docker-compose.yml",
    "service": "my-service-name",
    "workspaceFolder": "/customPath"
}
Run Code Online (Sandbox Code Playgroud)

.devcontainer/docker-compose.yml:

version: '3'
services:
  my-service-name:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ..:/customPath
    command: sleep infinity
Run Code Online (Sandbox Code Playgroud)

您可以更改customPath为您希望将工作区安装到的任何路径。另外,请确保添加command: sleep infinity容器在启动时会自动关闭