将软件添加到现有容器

已完成

自定义的容器将成为你所在机构的理想之选。 借助开发容器的强大功能,你已能够添加预配置的开发容器,而通过到目前为止的练习,已通过 devcontainer.json 文件自定义体验。 但如果想添加其他软件,而不仅仅是这些映像或预配置开发容器中提供的功能,该如何操作呢?

安装其他软件的简介

其他软件可能包括为你所在的机构提供的其他技术堆栈。 例如,你可能希望将 Node.js 包含在任何开发容器中,因为你知道这是许多开发工作流的一部分。

运行“开发容器: 添加开发容器配置文件”时,就已将 .devcontainer 文件夹添加到应用。 基于devcontainer.json此容器映像,它包含 文件。 虽然此映像为团队提供了许多选项,但建议通过安装更多软件来循环使用这些选项。

安装软件的方法

可以通过集成终端安装软件。 大多数容器映像基于 Debian 或 Ubuntu,其中 aptapt-get 命令用于安装新包。

重要

每当通过 apt-get 安装包时,请先运行 apt-get update。 此命令更新包和包存储库的列表,以便缓存最新的列表。

但若对 .devcontainer 文件夹进行更改,并且需要重新生成容器,则必须重新安装已手动安装的所有内容。 为避免此问题,可以使用上一单元中提到的 devcontainer.json 中的 postCreateCommand 属性。

若要使更改在重新生成后仍然有效,最高效的做法是通过“功能”安装软件。

通过“功能”安装软件

如本模块第 5 单元中所述,开发容器“功能”是安装代码和开发容器配置的独立、可共享单元。 此名称源于这样一种想法,即引用其中一个功能,可让你快速轻松地将更多工具、运行时或库“功能”添加到开发容器中,供你或你的协作者使用。

使用 VS Code 命令“Dev Containers: Add Dev Container Configuration Files”时,会显示一个脚本列表,用于自定义现有开发容器配置,例如安装 Git 或 Azure CLI。

在容器中重新生成并重新打开时,你选择的功能将在 devcontainer.json 中可用:

"features": {
    "ghcr.io/devcontainers/features/azure-cli:1": {
        "version": "latest"
    }
}

使用 VS Code“Dev Containers: Configure Container Features”命令可以更新现有配置。

VS Code UI 中的功能现在来自一个中心索引,你可以浏览这些功能,甚至参与其中

可以了解有关功能的工作原理及其分发的详细信息。

在下一个练习中,你将安装 Node.js。 然后,验证 Node.js 在正在运行的容器中是否可用。