如何更改 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
因为容器在启动时会自动关闭
如何更改容器中打开的文件夹的默认卷挂载?我在 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
因为容器在启动时会自动关闭