Adición de software a un contenedor existente

Completado

El contenedor personalizado se está desarrollando muy bien para la agencia. Gracias a la eficacia de los contenedores de desarrollo, ha podido agregar un contenedor de desarrollo preconfigurado y, a través de los ejercicios realizados hasta ahora, ha podido personalizar aún más su experiencia través del archivo devcontainer.json. Pero, ¿qué ocurre si quiere agregar software distinto al que está disponible en esas imágenes o en los contenedores de desarrollo preconfigurados?

Introducción a la instalación de software adicional

Es posible que el software adicional incluya otra pila tecnológica para la agencia. Por ejemplo, es posible que quiera incluir Node.js en cualquiera de los contenedores de desarrollo, ya que sabe que forma parte de muchos flujos de trabajo de desarrollo.

Cuando ejecutó Contenedores de desarrollo: Agregar archivos de configuración de contenedor de desarrollo, se agregó una .devcontainer carpeta a la aplicación. Incluía un archivo devcontainer.json, basado en esta imagen de contenedor. Aunque esta imagen ofrece muchas opciones excelentes para el equipo, es posible que quiera iterar aún más en ellas mediante la instalación de software adicional.

Métodos para instalar software

Puede instalar software a través del terminal integrado. La mayoría de las imágenes de contenedor se basan en Debian o Ubuntu, donde el comando apt o apt-get se usa para instalar nuevos paquetes.

Importante

Siempre que instale algo desde apt-get, ejecute primero apt-get update. Este comando actualiza la lista de paquetes y repositorios de paquetes para que tenga la lista más reciente almacenada en caché.

Sin embargo, si realiza cambios en la carpeta .devcontainer y tiene que recompilar el contenedor, tendrá que volver a instalar todo lo que haya instalado manualmente. Para evitar este problema, puede usar la propiedad postCreateCommand en devcontainer.json, tal y como se mencionó en la unidad anterior.

El procedimiento más eficiente que conserva los cambios, incluso después de recompilar, consiste en instalar el software a través de Features.

Instalación de software a través de Features

Como se mencionó en la unidad 5 de este módulo, el contenedor de desarrollo "Features" son unidades autocontenibles, y que se pueden compartir, del código de instalación y la configuración del contenedor de desarrollo. El nombre procede de la idea de que hacer referencia a uno de ellos le permite agregar más herramientas, tiempo de ejecución o la biblioteca "Features" en el contenedor de desarrollo para que lo use usted o sus colaboradores.

Al usar el comando Dev Containers: Agregar archivos de configuración del contenedor de desarrollo en VS Code, se le presenta una lista de scripts para personalizar las configuraciones existentes del contenedor de desarrollo, como instalar Git o la CLI de Azure.

Al volver a generarlas y abrirlas en el contenedor, las características de Features seleccionadas estarán disponibles en el archivo devcontainer.json:

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

El comando Contenedores de desarrollo de VS Code : Configurar características de contenedor permite actualizar una configuración existente.

Las características fuente de la interfaz de usuario de VS Code ahora proceden de un índice central, al que puede explorar e incluso contribuir.

Puede revisar más información sobre cómo funcionan las características y su distribución.

En el ejercicio siguiente, instalará Node.js. Después, comprobará que Node.js está disponible en el contenedor en ejecución.