How to: Usar Chocolatey en contenedores docker para instalar dependencias.

Chocolatey es un gestor de dependencias externo para entornos Windows. Los servicios gestores de dependencias son bastante comunes en el ecosistema Linux-Unix. En ambientes Windows no existía hasta hace poco un servicio de estas características. Un gestor de dependencias es un servicio centralizado al que puedes acceder (regularmente por comandos) para descargar componentes que puedes usar directo o componentes que requieren otras aplicaciones para su funcionamiento interno. Me interesa este servicio para poder automatizar la creación de imágenes de contenedores Docker.

Uno de los componentes que emplea mi empresa requiere de Visual C++ instalado, es crucial que cualquier contenedor que construya ya lleve esta dependencia pre cargada. Aquí es donde entra Chocolatey. Antes hay que aclarar que todo sistema de dependencias publico por lo general viene sin soporte de los paquetes publicados. En el sitio la gente de Chocolatey te menciona que hay un proceso mínimo de curaduría y revisión, pero no hay soporte de ningún tipo con los paquetes, si quieres emplear la herramienta será bajo tu propio riesgo. Puedes adquirir algún plan de licenciamiento corporativo si la cosa va más en serio. Es el modelo de negocio community/coporative de toda la vida.

¿Cómo se instala Chocolatey?.

Puedes acceder a la información de como instalar Chocolatey aquí. La manera más rápida es hacerlo mediante PowerShell con permisos de administrador. Con este método podrás instalar Chocolatey en tu Dockerfile.

Instala paquetes usando «choco».

Cuando instalas Chocolatey se instala la utilidad choco mediante la cual podrás jalar paquetes al equipo en cuestión. Casi todos los paquetes requieren de la aceptación de licencias, términos y condiciones, puedes emplear el argumento «-y» para aceptarlos por default, de lo contrario causará error al momento de ejecutar Docker build.

Construye y ejecuta tu contenedor.

Una vez creado tu Dockerfile solo necesitas emplear Docker build y Docker run para ver el resultado.

Autor imagen: CyberHades

Gustavo Sánchez

Soy especialista en escribir software de calidad. Mediante el uso de marcos de trabajo, técnicas y automatización de procesos he podido reducir los costes operativos de los sistemas de la empresa. Sistemas confiables y adaptables producen clientes felices.

Site Footer