Adición de software a un contenedor existente
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ó Dev Containers: Adición de archivos de configuración de contenedor de desarrollo, se agregó una carpeta .devcontainer
a la aplicación. Incluyó 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 de VS Code Contenedores de desarrollo: Agregar archivos de configuración de contenedores de desarrollo, se le presenta una lista de scripts para personalizar las configuraciones de contenedor de desarrollo existentes, 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 de VS Code Contenedores de desarrollo: Configurar características de contenedor permite actualizar una configuración existente.
Las características procedentes de la interfaz de usuario de VS Code ahora proceden de un índice central, que puede explorar e incluso hacer contribuciones.
Puede revisar más información sobre cómo funciona Features 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.