WebStorm 2025.2 Help

关于 Dev Container 的常见问题

创建 Dev Container 后,我在 Docker 中看到各种卷和属性。 它们各自的作用是什么?

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

  • jb_devcontainers_shared_volume :复制 IDE 后端的过程需要一定时间。 但是,这一过程仅在首次创建 Dev Container 时执行一次,所有内容会被复制到此卷中。 随后,此卷将在多个容器之间共享,无需重复执行下载过程。 如果使用其他 IDE 或不同版本的 IDE 创建 Dev Container,会将其复制到相同的 Docker 卷中。 所有后端存储于一个卷中,便于管理。

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

  • jb-devcontainer-features-xxx :如果在 devcontainer.json 文件中使用 features ,则所有功能都会放入此类镜像中。

    目前,需手动删除不必要的镜像。

  • jb_devcontainer_sources_xxx :如果使用 git clone ,则所有源代码会通过辅助容器(基于 alpine/git 镜像)克隆到该卷中。

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

将以下内容添加到 帮助 | 诊断工具 | 调试日志设置

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

我如何判断使用 -ssh git clone 创建远程 Dev Container 时 SSH 连接是否成功?

运行以下命令:

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

为什么在创建 Dev Container 时会拉取 alpine/git 镜像?

我们创建一个基于小型 alpine/git 镜像的辅助容器,其中包含部分所需工具或库,例如 Git 或 SSH 客户端。 我们需要它来克隆镜像中可能没有的仓库,以用于创建 Dev Container。

为什么在 SSH Docker 连接中不使用“创建 Dev Container 并挂载源”选项?

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

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

对于驻留在远程后端的项目,您可以使用 .json 文件构建 Dev Container。

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

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

本地 Docker 会收集正确的上下文,仅克隆所需文件到 Dev Container,而不是整个可能相当大的仓库。

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

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