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

How to change default volume mount in VS Code Remote Container?

如何更改容器中打开的文件夹的默认卷挂载?我在 Dockerfile:

中尝试过
RUN mkdir /root/myproject
WORKDIR /root/myproject

还有我的.devcontainer.json:

{
    "name": "My Project",
    "dockerFile": "Dockerfile",
    "workspaceFolder": "/root/myproject",
}

但该文件夹仍在容器内 /workspaces/myproject 上装载。

更新

即将发布的 vscode-container 版本应该支持使用 workspaceFolder,如您所示。有关详细信息,请参阅 this issue


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

.devcontainer/devcontainer.json:

{
    "name": "My Project",
    "dockerComposeFile": "docker-compose.yml",
    "service": "my-service-name",
    "workspaceFolder": "/customPath"
}

.devcontainer/docker-compose.yml:

version: '3'
services:
  my-service-name:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ..:/customPath
    command: sleep infinity

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