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

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

Stack Overflow用户
提问于 2020-09-02 02: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 04:59:06

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

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

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

.dockerignore

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Ignore everything
**

.devcontainer/devcontainer.json

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

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

(备用计划) docker cp

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

复制
相关文章
在 Docker 容器中编辑文件
我希望每次在docker容器中安装vi的时候谁会给我1美元...我想要一个在运行的docker容器编辑文件的更简单的方式。首先,尝试避免编辑文件,这违背了容器的哲学理念(见最后一段)。
星哥玩云
2022/07/03
5.5K0
在 Docker 容器中编辑文件
使用 VSCODE 连接远程服务器上的容器
自从 VSCODE 出现以来,我就立马从 pycharm 转入了。厌倦了 pycharm 的笨重,用了 vscode 之后只能说是真香,编辑器界的 flask。但是和 flask 一样,虽然轻便,但是自然基本上一切都需要你自己去配置,各种插件和扩展。有些功能 pycharm 可能自带,但是 VSCODE 就需要自己各种折腾,比如说本文的主题:本地连接远程服务器上的容器。
Alan Lee
2020/03/18
9.5K1
使用 VSCODE 连接远程服务器上的容器
如何拷贝Docker容器内的文件?
某个项目容器需要添加 wkhtmltopdf 软件包用于处理html与pdf文件转换,由于默认的apt源服务器在国外,使用apt 安装 wkhtmltopdf 时下载速度只有感人的几kb/s。
用户1560186
2019/11/20
4.8K0
使用VSCode的 Dev Containers 插件搭配Docker 容器进行开发环境的搭建
需要安装插件 https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers 安装Doc
拿我格子衫来
2023/08/24
1.4K0
使用VSCode的 Dev Containers 插件搭配Docker 容器进行开发环境的搭建
docker停止运行中的容器(docker关闭容器)
centos 启动一个容器添加了-d 参数,但是docker ps 或者docker ps -a查看却已经退出了
全栈程序员站长
2022/07/25
8.7K0
docker停止运行中的容器(docker关闭容器)
Docker容器——在Ubuntu中安装Docker
日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。 同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。
cn華少
2022/01/11
2.8K0
如何使用Gorsair入侵远程Docker容器并暴露API
Gorsair是一款功能强大的针对Docker容器的渗透测试工具,可以帮助广大研究人员入侵易受攻击的Docker容器,并发现和访问目标Docker容器的API。一旦它访问了目标Docker守护进程,就可以使用Gorsair直接在远程容器上执行命令。
FB客服
2021/11/08
5920
如何使用Gorsair入侵远程Docker容器并暴露API
在 Docker 容器中捕获信号
我们可能都使用过 docker stop 命令来停止正在运行的容器,有时可能会使用 docker kill 命令强行关闭容器或者把某个信号传递给容器中的进程。这些操作的本质都是通过从主机向容器发送信号实现主机与容器中程序的交互。比如我们可以向容器中的应用发送一个重新加载信号,容器中的应用程序在接到信号后执行相应的处理程序完成重新加载配置文件的任务。本文将介绍在 docker 容器中捕获信号的基本知识。
星哥玩云
2022/07/19
2.7K0
在 Docker 容器中捕获信号
springboot项目在docker容器中如何优雅关闭
是否所有项目都需要优雅关闭?那也不一定,毕竟所谓的优雅关闭,另一面就意味这关闭得慢,因此项目的优雅关闭得看项目的核心程度,换言之就是看该项目处理的数据是不是核心数据,其实项目的最终本质,是对数据的处理。
lyb-geek
2022/01/06
3K1
springboot项目在docker容器中如何优雅关闭
springboot项目在docker容器中如何优雅关闭
是否所有项目都需要优雅关闭?那也不一定,毕竟所谓的优雅关闭,另一面就意味这关闭得慢,因此项目的优雅关闭得看项目的核心程度,换言之就是看该项目处理的数据是不是核心数据,其实项目的最终本质,是对数据的处理。
lyb-geek
2021/01/15
3K0
springboot项目在docker容器中如何优雅关闭
如何在Docker容器中运行Docker [3种方法]
/var/run/docker.sock是默认的Unix套接字。套接字用于在同一主机上的进程之间进行通信。Docker守护程序默认情况下侦听docker.sock。如果您在运行Docker守护程序的主机上,则可以使用/ var/run/docker.sock管理容器。
DevOps云学堂
2020/09/14
27.3K0
如何在Docker容器中运行Docker [3种方法]
vscode 中 docker 学习利器:vscode docker 扩展
可在 vscode 中安装 docker 扩展,具有若干好处: 可直接在 vscode 中打开容器中文件。比如 nginx 的配置,修改十分方便,无需 vim,重启也方便 可直接在 vscode 中在浏览器打开所暴露端口号。无需每次去查看 expose 或者 -p 关于端口号的映射关系。 可直接在 vscode 中打开容器的 shell,方便执行命令 ---- 以上内容节选自前端部署训练营知识库。
山月
2022/11/02
1.1K0
vscode 中 docker 学习利器:vscode docker 扩展
Lxcfs在容器集群中的使用
背景:我们知道在k8s 的pod 内,使用top/free/df等命令,展示的状态信息是从/proc目录中的相关文件里读取出来的,这些文件默认是读取pod所在节点主机对应文件的数据。
keepyan
2020/03/06
2.8K0
Lxcfs在容器集群中的使用
docker 容器的使用[php 5.6 mysql5.7] 原
需要启动systemd进程 --privileged[需要启动systemctl] docker run --privileged -tdi -p 8080:80 centos7-sshd-httpd-php56 init docker inspect 容器id |grep IPAddress
双面人
2019/06/01
8940
如何在docker的容器中使用gdb
话不多说,先上答案:在运行容器的时候,使用参数--cap-add sys_ptrace,比如:
Homqyy
2023/03/06
1.7K0
使用docker-compose打包镜像支持与外部docker容器通信的方法
docker-compose打包的镜像默认网络访问为HOST-ONLY,如果需要与外部容器通信,解决思路就是改变其挂载网卡,增加配置如下:
飞奔去旅行
2020/04/14
1.6K0
docker中容器如何实现通信
默认情况下docker的网络模式为Bridge,当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。这样容器间就可以相互通信。但是此种方式可能随着容器的重启的原因,ip发生变化。(比如容器1开始ip为192.168.0.110,重启后变成了192.168.0.121)。如何解决这个问题呢?
IT大咖说
2020/03/12
1.5K0
docker中容器如何实现通信
使用Docker容器
Docker是一种流行的容器化工具,用于为软件应用程序提供包含运行所需内容的文件系统。使用Docker容器可确保软件的行为方式相同,无论其部署位置如何,因为其运行时环境无情一致。
风研雨墨
2018/10/29
1.2K0
ASP.NET Core 如何在运行Docker容器时指定容器外部端口
前面我写了一系列关于持续集成的文章,最终构建出来的镜像运行之后,应该会发现每次构建运行之后端口都变了,这对于我们来说是十分不方便的,所以我们可以通过修改docker compose的配置文件来完成我们的需求。 熟悉Docker的都应该知道容器运行时其内部会有一个端口以映射到我们外部的端口,我们需要固定的就是这个外部端口。 打开 docker-compose.override.yml 文件 version: '3' services: webapplication6: environment:
晓晨
2018/06/22
2.1K0
工具的使用 | Docker容器的使用
Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker容器是一种轻量级、可移植、自包可以在含的软件打包技术,使应用程序几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。容器是完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。简单的说,容器就是在隔离环境运行的一个进程,如果进程停止,容器就会销毁。隔离的环境拥有自己的系统文件,IP地址,主机名等。
谢公子
2022/01/19
6140
工具的使用 | Docker容器的使用

相似问题

VSCode:无法使用远程开发扩展连接到Docker容器

10

使用vscode在docker容器中打开文件

42

如何在VSCode远程开发容器中运行VSCode Liveshare扩展

17

VSCode远程容器-未使用docker在dev容器上安装的扩展-组合

30

VSCode远程容器--如何打开VSCode容器实例中的默认文件夹?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文