JetBrains Rider 2025.2 Help

关于 Dev Containers 的常见问题

创建开发容器后,我在 Docker 中看到了各种卷和属性。 它们各自做什么?

在创建 Dev Container 之后,Docker 中会出现以下卷和属性:

  • jb_devcontainers_shared_volume :复制 IDE backend 的过程需要一定的时间。 但是,此过程仅在首次创建 Dev Container 时完成,并且所有内容都会复制到此卷中。 然后,这个卷在多个容器之间共享,我们不需要重复下载过程。 如果我们使用另一个 IDE 或不同版本的 IDE 创建一个 Dev Container,我们会将其复制到相同的 Docker volume。 所有后端存储在一个卷中,便于管理。

    例如,通过 管理后端 对话框移除不必要的 backends。

  • jb-devcontainer-features-xxx :如果您在 功能 文件中使用了 devcontainer.json ,那么所有功能都会被放置到这些镜像中。

    当前,必须手动删除不必要的图像。

  • jb_devcontainer_sources_xxx :如果我们使用 git clone ,则所有源将使用辅助容器(基于 alpine/git 镜像)克隆到此卷中。

如何在创建 Dev Container 时添加更多日志信息?

帮助 | 诊断工具 | 调试日志设置 中添加以下字符串:

com.intellij.platform.ijent:all
com.intellij.clouds.docker.gateway.ijent:all

如何确认我的 SSH 连接已成功用于通过 -ssh git clone 创建远程 Dev Container?

请运行以下命令:

docker --host <ssh> build <git-url>:<context-dir>

请查看以下示例:

docker --host ssh://jetbrains@MUNIT-234:22 build git@git.jetbrains.team/devcont/DevCont_test_cases.git:.devcontainer

为什么在创建开发容器时会拉取 alpine/git 镜像?

我们基于小型 alpine/git 图像创建了一个辅助容器,其中包含了一些必需的工具或库,例如 Git 或 SSH 客户端。 我们需要这个来克隆在用于创建 Dev Container 时可能不存在的代码仓库。

为什么您不使用 Create Dev Container 和 Mount Sources 选项来进行 SSH Docker 连接呢?

如果我们已经在本地拥有所有资源,就没有必要使用像通过 SSH 的 Docker 这样复杂且缓慢的方法。

是否可以在远程后端触发构建 Dev Container?

您可以使用位于远程后端的 .json 文件为项目构建 Dev Container。

欲了解更多信息,请参阅 为远程项目启动 Dev Container

为什么需要在本地安装 Docker 才能通过 SSH 远程创建 Dev Container?

本地 Docker 收集正确的上下文,仅将必要的文件克隆到 Dev Container,而不是整个存储库,这样可以避免存储库过大。

当前实现需要本地 Docker CLI 来收集正确的上下文,并仅将必要的文件克隆到远程机器。 您可以在 使用远程服务器上的 Docker 的先决条件 部分查看要求。

最后修改日期: 2025年 9月 26日