Qué Es Docker
Qué Es Docker
Explicación para
dummies
mayo 11, 2021 Alfredo Sánchez López 0 comentarios DevOps, docker
Uno de los objetivos del desarrollo de software moderno es mantener las aplicaciones en el
mismo host o clúster aisladas unas de otras para que no interfieran indebidamente con el
funcionamiento o el mantenimiento de las demás. Esto puede resultar difícil, gracias a los
paquetes, bibliotecas y otros componentes de software necesarios para su ejecución. Una
solución a este problema han sido las máquinas virtuales, que mantienen las aplicaciones en
el mismo hardware completamente separadas y reducen al mínimo los conflictos entre los
componentes de software y la competencia por los recursos de hardware. Pero las máquinas
virtuales son voluminosas y son difíciles de mantener y actualizar.
Los contenedores, por el contrario, aíslan los entornos de ejecución de las aplicaciones
entre sí, pero comparten el kernel del sistema operativo subyacente. Por lo general, usan
muchos menos recursos que las VM y se inician casi de inmediato. Se pueden empaquetar
mucho más densamente en el mismo hardware y girar hacia arriba y hacia abajo en masa
con mucho menos esfuerzo y gastos generales. Los contenedores proporcionan un
mecanismo altamente eficiente y granular para combinar componentes de software en los
tipos de aplicaciones y pilas de servicios necesarios en una empresa moderna, y para
mantener esos componentes de software actualizados y mantenidos.
Ahora que ya entendemos que es Docker vamos a describir a sus componentes mas
importantes:
Dockerfile
Imagen de Docker
Una vez que haya escrito su Dockerfile, invoque la utilidad de compilación de Docker para
crear una imagen basada en ese Dockerfile. Mientras que Dockerfile es el conjunto de
instrucciones que le dice a build cómo crear la imagen, una imagen de Docker es un
archivo portátil que contiene las especificaciones para qué componentes de software se
ejecutará el contenedor y cómo. Debido a que un Dockerfile probablemente incluirá
instrucciones sobre cómo obtener algunos paquetes de software de repositorios en línea,
debe tener cuidado de especificar explícitamente las versiones adecuadas, o de lo contrario
su Dockerfile puede producir imágenes inconsistentes dependiendo de cuándo se invoque.
Pero una vez que se crea una imagen, es estática.
Ejecución de Docker
Docker hub
Si bien crear contenedores es fácil, no se le ocurra que tendrá que crear todas y cada una de
sus imágenes desde cero. Docker Hub es un repositorio SaaS para compartir y administrar
contenedores, donde encontrará imágenes oficiales de Docker de proyectos de código
abierto y proveedores de software e imágenes no oficiales del público en general. Puede
descargar imágenes de contenedor que contengan código útil o cargar las suyas propias,
compartirlas abiertamente o convertirlas en privadas. También puede crear un registro
Docker local si lo prefiere.
Si deseas ver las imágenes disponibles en Docker Hub puedes entrar al siguiente enlace:
Docker Hub
Docker Compose
Docker Compose fue creado por Docker para simplificar el proceso de desarrollo y prueba
de aplicaciones de varios contenedores. Es una herramienta de línea de comandos, que le
indica al cliente de Docker, que tome un archivo descriptor especialmente credo para
ensamblar aplicaciones a partir de múltiples contenedores y ejecutarlas en conjunto en un
solo host.
Docker Swarm
Es un grupo de máquinas físicas o virtuales que ejecutan la aplicación Docker y que se han
configurado para unirse en un clúster. Una vez que se ha agrupado un grupo de máquinas,
aún puede ejecutar los comandos de Docker a los que está acostumbrado, pero ahora los
ejecutarán las máquinas de su clúster. Las actividades del clúster están controladas por un
administrador de enjambres y las máquinas que se han unido al clúster se denominan
nodos.
Espero te haya quedado claro que es Docker y como funciona, si deseas instalarlo puedes
revisar el siguiente post, donde explico como realizarlo: