关于 Dev Containers 的常见问题
创建开发容器后,我在 Docker 中看到了各种卷和属性。 它们各自做什么?
在创建 Dev Container 之后,Docker 中会出现以下卷和属性:
jb-devcontainer-features-xxx:如果您在features文件中使用了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年 4月 24日