没有 VS Code 的开发容器?

Ken*_*yer 6 visual-studio-code

假设由于某种原因,我不想启动 VSC 来运行 devcontainer shell,但我仍然希望获得 devcontainer 的所有优点,而无需重写所有配置文件。有一个devcontainerCLI,但目前唯一可用的选项是open(VSC,连接到容器)和build(构建映像,在许多人共享相同的 devcontainer 环境的用例中)。

理想情况下,会有第三个选项devcontainer shell来完成 VSC 内部完成的所有构建、启动和连接工作,但只exec负责运行容器。

Cap*_*iel 1

.devcontainer文件夹包含一个devcontainer.json文件。在其中,如果您使用 docker-compose,则会有一个dockerComposeFile包含按顺序加载的 docker-compose 文件数组的密钥。您可以使用诸如 之类的命令执行相同的操作docker-compose -f first-compose-file.yml -f second-compose-file.yml

同一个文件夹通常有自己的docker-compose.yml文件。您会注意到它声明了您的主要服务,并且通常设置一个卷以在主机和容器之间共享(对于在容器内工作很有用)。

还有其他有趣的键,devcontainer.json例如forwardPorts,remoteUserpostCreateCommand。您应该能够在 docker-compose 文件中设置其中的大部分(开发内容应该放在其中.devcontainer/)。创建后命令可以使用docker compose exec SERVICENAME COMMAND.

我不知道是否有一个命令来检测.devcontainer文件并选择正确的设置,但编写一个命令应该不难。