Adicionar software a um contentor existente

Concluído

O seu contentor personalizado está a funcionar bem para a sua agência. Com o poder dos Dev Containers, você pôde adicionar um contêiner de desenvolvimento pré-configurado e, através dos exercícios até agora, personalizou sua experiência por meio do arquivo devcontainer.json. Mas e se quiser adicionar software adicional para além do que está disponível nessas imagens ou nos contentores dev pré-configurados?

Introdução à instalação de software adicional

Software adicional pode ser outra pilha tecnológica para a sua agência. Por exemplo, pode querer incluir o Node.js em qualquer um dos seus contentores dev, pois sabe que integra vários fluxos de trabalho de programação.

Quando você executou Dev Containers: Add Development Container Configuration Files, uma .devcontainer pasta foi adicionada ao seu aplicativo. Ele incluía um devcontainer.json arquivo, com base nessa imagem de contêiner. Embora esta imagem nos dê muitas opções para a nossa equipa, podemos querer iterá-las instalando mais software.

Métodos para instalar software

Pode instalar software através de um terminal integrado. A maioria das imagens de contêiner são baseadas no Debian ou Ubuntu, onde você usa o apt comando ou apt-get para instalar novos pacotes.

Importante

Sempre que instalar algo a partir de apt-get, execute apt-get update primeiro. Este comando atualiza a lista de pacotes e repositórios de pacotes para que tenha a lista mais atualizada em cache.

No entanto, se você fizer alterações em sua .devcontainer pasta e precisar reconstruir seu contêiner, terá que reinstalar qualquer coisa que tenha instalado manualmente. Para evitar esse problema, você pode usar a postCreateCommand propriedade em devcontainer.json, como mencionado na unidade anterior.

A prática mais eficiente que persiste suas alterações mesmo após a reconstrução é instalar o software por meio de um recurso.

Instalação de software através de Funcionalidades

Como mencionado na unidade 5 deste módulo, os "Recursos" do contêiner de desenvolvimento são unidades autônomas e compartilháveis de código de instalação e configuração de contêiner de desenvolvimento. O nome vem da ideia de que fazer referência a um deles permite que você adicione rápida e facilmente mais ferramentas, tempo de execução ou "Recursos" de biblioteca em seu contêiner de desenvolvimento para uso por você ou seus colaboradores.

Quando você usa o comando VS Code Dev Containers: Add Dev Container Configuration Files, é apresentada uma lista de scripts para personalizar as configurações de contêiner de desenvolvimento existentes, como a instalação do Git ou da CLI do Azure.

Quando você reconstruir e reabrir em seu contêiner, os recursos selecionados estarão disponíveis em seu devcontainer.json:

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

O comando VS Code Dev Containers: Configure Container Features permite atualizar uma configuração existente.

Os recursos originados na interface do usuário do VS Code agora vêm de um índice central, que você pode explorar e até mesmo contribuir.

Você pode revisar mais informações sobre como os recursos funcionam e sua distribuição.

No próximo exercício, você instalará o Node.js. Depois, irá verificar se o Node.js está disponível no contentor em execução.