GoLand 2025.2 Help

开发容器常见问题

创建开发容器后,我在 Docker 中看到各种卷和属性。它们分别起什么作用? 它们分别起什么作用?

创建开发容器后,Docker 中会显示以下卷和属性:

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

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

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

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

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

创建开发容器时如何添加更多日志信息?

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

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

使用 -ssh git clone 创建远程开发容器时,我如何确认 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

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

我们基于精简的 alpine/git 镜像创建辅助容器,该镜像包含一些所需工具或库,例如 Git 或 SSH 客户端。 我们需要这样做,是为了克隆用于创建开发容器的镜像中可能缺失的仓库。

为什么在 SSH Docker 连接中不使用“创建开发容器并挂载源”选项?

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

是否可以在远程后端上触发构建开发容器的操作?

您可以为位于远程后端的项目中包含的 .json 文件构建开发容器。

如需了解详情,请参阅 为远程项目启动 Dev Container

为什么通过 SSH 创建远程开发容器时需要本地安装 Docker?

本地 Docker 会收集正确的上下文,仅将必要的文件克隆到开发容器中,而不是整个仓库(仓库可能相当庞大)。

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

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