问题标签 [vscode-devcontainer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
16 浏览

visual-studio-code - 下拉菜单中的 vscode 自己的 devcontainer

我喜欢在 vscode 的下拉菜单中添加我自己的 devcontainer,在 C++ 等预定义项旁边。

我只是复制了我自己.devcontainer~/.vscode/extensions/ms-vscode-remote.remote-containers-0.194.0/dist/node_modules/vscode-dev-containers/containers/cpp_kurs,它完美地满足了我的要求。

但我想它有点脏,至少在扩展更新时会消失,因为其中的版本号是文件夹名称。

有没有一种干净、好的和稳定的方式来做到这一点(我不想分叉插件并维护它)?

0 投票
0 回答
73 浏览

linux - 在 devcontainer 中运行多个阻塞命令

我正在尝试构建一个用于开发 laravel 应用程序的 devcontainer。

这是我的一部分devcontainer.json

创建容器后,我会安装所需的依赖项。之后,我想构建和观看混合文件并提供 laravel 应用程序。

我将如何在 parelell 中运行两个阻塞命令?

0 投票
0 回答
145 浏览

visual-studio-code - 如何在 VSCode 远程容器中正确使用自定义图像

我目前正在开发一个需要我使用 VSCode 远程容器的项目。我决定不将我的容器基于此处可用的官方 Microsoft 映像之一,而是基于epitechcontent/epitest-dockerdocker 映像。

到目前为止,我正在为容器使用以下配置:

.devcontainer/devcontainer.json

.devcontainer/Dockerfile

我目前遇到以下问题。

容器用户权限

Microsoft VSCode Remote Containers 似乎为所有容器创建了一个默认的非 root 用户vscode。由于我没有使用 Microsoft 映像,因此我正在寻找一种方法来创建与我的会话具有相同权限的用户,以便在容器中创建的文件与我的常规用户在容器外创建的文件相同。

为了实现这一点,我在 Dockerfile 中创建了一个新用户,并且还在为该用户设置了remoteUser属性devcontainer.json

接下来发生的事情是,当我尝试在远程容器中创建一个文件时,它的权限与我的常规会话不同。

工作区和安装位置

在里面,Dockerfile我将用户的主目录设置为/home/babel,我也将其设置WORKDIR/home/babel。另外,在里面devcontainer.json我设置workspaceMounttype=bind,source=${localWorkspaceFolder},target=/home/babel所以容器安装在用户的主目录中。

不幸的是,这覆盖了dummyfiletouch构建阶段编辑的 (参见Dockerfile)。

结论

我很难找到好的资源来学习如何在没有 Microsoft 映像的情况下使用 VSCode 远程容器。

我正在尝试找到一种像 Microsoft 图像一样声明自定义用户的好方法。

我正在尝试找到一种在安装发生之前不覆盖此处的文件的方法。

0 投票
1 回答
152 浏览

git - VSCode devcontainers:在同一个devcontainer中克隆第二个存储库时git权限被拒绝

在开发容器中克隆存储库(我们称之为“主存储库”)工作正常。

在同一个开发容器中克隆另一个存储库不起作用(权限被拒绝)。

重现步骤:

  • 在 VSCode 中,“在容器卷中克隆存储库”(来自菜单)。从那里开始,一切正常:

    • 从 gui(拉,推)
    • 从集成终端:“git pull”,“git push”工作正常
  • 打开一个“集成终端”(从开发容器内部运行),并尝试在其中克隆另一个存储库:

    • git clone git@github.com:... => 权限被拒绝

这很奇怪:

=>为什么“主”存储库工作正常(有授权),而另一个存储库(凭据相同)却不行?

信息:

  • devcontainer 是一个 ubuntu:latest
  • 凭证有效
  • 我可以“在容器卷中克隆存储库”辅助存储库
0 投票
0 回答
60 浏览

angular - Live relod 在 Angular 的 vscode 开发容器中不起作用

我一直在使用 VScode 开发容器在 Angular 中开发一个模拟应用程序。为此,我创建了一个 docker 并使用添加开发容器配置文件选项创建了 devcontainer.json。

除了 angular 的实时重新加载功能外,一切都运行良好。由于这个原因,我被迫停止发球并被迫再次运行它,使用 ng serve 命令。

以下是我使用的示例 docker 文件

devcontainer.json

除了轮询之外,是否有一种直接的方法来实现实时重新加载?

0 投票
1 回答
154 浏览

mongodb - 在特殊端口上使用 MongoDB 的 devcontainers

我正在尝试使用远程 - 容器扩展在 vscode 上运行我的项目(Nextjs - MongoDB)

但我找不到如何在 27017 以外的新端口上运行 mongo,这是预定义的默认连接端口。

阅读文档似乎我应该使用forwardPorts

我的 devcontainer.json

我的 docker-compose.yml

谁能帮忙?

0 投票
0 回答
73 浏览

docker - 如何将 vs code dev 容器与现有的 docker-compose 文件一起使用?

我似乎找不到明确的答案,我找到了https://stackoverflow.com/a/68864132/17183293但它不是很清楚,也可能已经过时,因为“dockerComposeFile”不再是一个有效的选项。

我有一个带有现有 docker-compose.yml 文件的项目,它启动了一个 MariaDB 数据库,我为 Node 添加了一个生成的 devcontainer.json 配置文件,它看起来像

它还生成了一个 Dockerfile

这些文件在我的 .devcontainer 文件夹中,现在在我项目的 docker-compose.yml 文件中

我想要实现的是能够启动这个 mariadb 实例,以便我的开发容器中的应用程序可以访问它,理想情况下我还可以通过我的操作系统访问数据库,我想使用现有的docker-compose.yml 文件,以便没有开发容器扩展的人可以手动运行 docker-compose up,我该如何实现呢?

0 投票
0 回答
76 浏览

visual-studio-code - 使用 devcontainer.json 中的 postCreateCommand 在 vscode 中打开文件

我的 devcontainer 需要来自已安装卷的配置文件。如果创建容器后该文件不存在,我想创建一个新文件并在 vscode 中打开它,以便用户提供内容。

我用了

但它抱怨code or code-insiders is not installed

这样做的正确方法是什么?

0 投票
0 回答
30 浏览

visual-studio-code - 在容器内开发 vscode 扩展,但在容器外进行调试

我正在尝试使用容器作为开发环境来创建扩展。

运行扩展会创建一个安装了扩展的新 vscode 实例。当它在 devcontainer 中完成时,新的 vscode 实例也会连接到容器。

如何让 F5 在容器外运行 vscode?

以防万一,我的 devcontainer 基于 Ubuntu,其 Dockerfile 如下所示:

我现在拥有的扩展只是一个通过yo code指定以下选项运行创建的默认模板:

  • 扩展类型 - 新扩展 (TypeScript)
  • 将源代码与 webpack 捆绑在一起 - 是
  • 包管理器 - npm

,并且从 launch.json 中删除了 preLaunchTask

0 投票
1 回答
116 浏览

visual-studio-code - 如何将 Pulumi 添加到我的 GitHub Codespaces / VSCode .NET devcontainer?

我想从 VS Code使用Pulumi .NET / C#.devcontainer开发和部署 IaC 。如何将此功能添加到环境中?