將軟體新增至現有的容器

已完成

您的自訂容器正為您的機構提供絕佳的功能。 有了開發容器的強大功能,您就可以新增預先設定的開發容器,而透過目前的練習,您即可使用 devcontainer.json 檔案自訂您的體驗。 但是,如果您想要新增其他軟體,而不只是這些映像或預先設定開發容器中所提供的軟體,該怎麼做?

安裝其他軟體的簡介

其他軟體可能包含您機構的另一個技術堆疊。 例如,您可能需要在任何開發容器中包含 Node.js,因為您知道在許多開發工作流程中都需要這麼做。

當您執行 開發容器: 新增開發容器設定檔時,.devcontainer 資料夾會新增到您的應用程式。 它包含一個以這個容器映像為基礎的 devcontainer.json 檔案。 雖然這個映像為我們的小組提供了許多選項,但我們可能想要安裝更多軟體來逐一查看它們。

安裝軟體的方法

您可以透過整合式終端以安裝軟體。 大部分的容器映像是以 Debian 或 Ubuntu 為基礎,您會使用 aptapt-get 命令來安裝新的套件。

重要

每當您從 apt-get 安裝項目時,請先執行 apt-get update。 此命令會更新套件和封裝存放庫的清單,讓您能快取最新的清單。

但是,如果您對 .devcontainer 資料夾進行變更,且需要重建您的容器,您就必須重新安裝已手動安裝的任何項目。 若要避免這個問題,您可以使用 devcontainer.json 中的 postCreateCommand 屬性,如上一單元所述。

即使在重建之後仍然可以保存變更的最有效率做法,還是透過 Features 安裝軟體。

透過 Features 安裝軟體

如本課程模組單元 5 所述,開發容器「Features」是獨立、可共用的安裝程式碼和開發容器設定單位。 此名稱來自參考其中一項的概念,可讓您快速且輕鬆地將更多工具、執行階段或程式庫「功能」新增至您的開發容器,以供您或共同作業者使用。

使用 VS Code 命令開發容器: 新增開發容器設定檔時,您會看到指令碼清單,可用來自訂現有的開發容器設定,例如安裝 Git 或 Azure CLI。

當您在容器中重建並重新開啟時,您選取的 Features 將會在您的 devcontainer.json 中供您使用:

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

VS Code 開發容器:設定容器功能命令可讓您更新現有的設定。

VS Code UI 中 Features 的來源現在來自中央索引,您可以探索甚至參與

您可以檢閱 Features 運作方式及其散發方式的詳細資訊。

在下一個練習中,您將會安裝 Node.js。 您接著將會驗證 Node.js 是否可於正在執行的容器中使用。