开发容器常见问题
创建开发容器后,我在 Docker 中看到各种卷和属性。它们分别起什么作用? 它们分别起什么作用?
创建开发容器后,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日