Contenedores
- viernes, octubre 22 2021 @ 09:03 CEST
- Autor: linxe
- Lecturas 438

La gran diversidad de sistemas operativos y sus derivados trae alta complejidad para el desarrollador y por ende, casi nunca se soportan todos los posibles casos, más aún "la nube" trae la complejidad de trabajar o bien en un sistema recién horneado o limitado.
Por ello, se han implementado diversas soluciones (que no resuelven el problema al 100%), siendo una de ellas los llamados contenedores, liderado por Docker (https://www.docker.com/) y alternativas como Singularity (https://sylabs.io/singularity/). La idea de los contenedores es el poder definir el sistema, dependencias y ejecutables para crear un objeto (el contenedor) que es autosuficiente, la "receta" escrita en un archivo de texto es facilmente creada y puede generarse como un binario que se puede depositar en un repositorio público (Docker Hub o Quay.io) o privado donde se puede obtener y descargar para ejecutar.
La ejecuión es de cierta manera virtualizada, pero sin ser una VM, pero es simple como:
$ docker run -it --rm busybox:latest echo "hello container"
hello container
Existen diversas imágenes base para crear algo, algo tan minimo como busybox o alpine solo son unos pocos megas, e incluso distribuciones como ubuntu, centos, debian, etc, proveen imágenes donde podemos empezar a construir lo que necesitamos crear e igual grupos especificos mantienen imágenes como python, mysql, golang, postgres, etc.
Ya creado el contenedor, es posible interactuar con otros contenedores a manera de servicios, escalarlos, transportarlos a otra infraestructura, y más.