首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用VSCode的远程开发扩展在容器外部的Docker容器中打开文件

如何使用VSCode的远程开发扩展在容器外部的Docker容器中打开文件
EN

Stack Overflow用户
提问于 2020-09-02 10:18:33
回答 1查看 1.6K关注 0票数 1

是否可以使用VSCode的远程开发扩展在容器外部的本地操作系统中打开Docker容器中的文件(如在VSCode的远程WSL扩展中使用右键单击“打开资源管理器”)

我试着:

  • 构建无上下文的码头形象
  • 挂载文件系统卷,这样我就可以从容器中访问操作系统中的文件,而无需复制。

要构建没有上下文,我可以使用docker build - < Dockerfile (参见码头医生)。

我可以通过docker run -v <path-to-file-in-host>:<path-to-file-in-container> IMAGE_NAME (如所讨论的这里码头医生来了)挂载文件。

devcontainer.json参考中可以将构建args传递到devcontainer.json中的Docker构建,但是这并不适用于- <,因为vscode-dev容器默认包含构建上下文.

这个扩展还会在构建后自动运行一个容器,所以我不知道如何覆盖它。

任何提示都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-04 12:59:06

默认情况下,TL;DR开发容器扩展(截至2020年10月22日)将文件从本地操作系统绑定到容器,以便能够在本地操作系统上打开它们。

为了更快地绑定安装(在docker build .步骤中跳过docker build .),忽略.dockerignore中的所有内容&在.devcontainer/devcontainer.json中指定绑定挂载以将文件系统挂载到容器。

代码语言:javascript
运行
复制
.
├── .devcontainer/devcontainer.json
├── .dockerignore
├── .git
├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── data
├── src
└── tests

.dockerignore

代码语言:javascript
运行
复制
# Ignore everything
**

.devcontainer/devcontainer.json

来自更改或删除默认源代码挂载

代码语言:javascript
运行
复制
{
    ...
    "workspaceMount": "type=bind,source=${localWorkspaceFolder},target=/workspace,consistency=delegated",
    "workspaceFolder": "/workspace"
    ...
}

(备用计划) docker cp

还可以使用docker cp将文件复制到容器内外;如果容器的数据文件夹中有csvtxt文件,我想在本地操作系统上查看这些文件,则可以运行:

代码语言:javascript
运行
复制
docker cp 12890c3a2602:/workspaces/drem/data/commercial_building_benchmarks comm_bldg_bmarks

其中12890c3a2602是我的容器id,/workspaces/drem/data/commercial_building_benchmarks是我容器内数据文件夹的路径,comm_bldg_bmarks是我本地操作系统上目标文件夹的名称。更多信息见将文件复制到或从Docker容器中复制 ..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63703468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档