Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

¿Qué es Docker?

Explicación para
dummies
mayo 11, 2021 Alfredo Sánchez López 0 comentarios DevOps, docker

Docker es una herramienta diseñada para facilitar la creación, implementación y ejecución


de aplicaciones mediante el uso de contenedores. Los contenedores permiten empaquetar
una aplicación con todas las partes que necesita, como bibliotecas y otras dependencias, y
desplegarla como un solo paquete. Al hacerlo, gracias al contenedor, podemos estar seguros
de que la aplicación se ejecutará en cualquier otra máquina Linux, independientemente de
cualquier configuración personalizada que pueda tener la máquina que podría diferir de la
máquina utilizada para escribir y probar el código.

¿Qué son los contenedores?

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

Cada contenedor de Docker comienza con un Dockerfile. Un Dockerfile es un archivo de


texto escrito en una sintaxis fácil de entender que incluye las instrucciones para crear una
imagen de Docker. Un Dockerfile especifica el sistema operativo subyacente al contenedor,
junto con los idiomas, las variables ambientales, las ubicaciones de los archivos, los puertos
de red y otros componentes que necesita y, por supuesto, lo que realmente hará el
contenedor una vez que lo ejecutemos.

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

La utilidad de ejecución de Docker es el comando que realmente lanza un contenedor. Cada


contenedor es una instancia de una imagen. Los contenedores están diseñados para ser
transitorios y temporales, pero se pueden detener y reiniciar, lo que lanza el contenedor al
mismo estado que cuando se detuvo. Además, se pueden ejecutar simultáneamente varias
instancias de contenedor de la misma imagen. La revisión de código tiene un gran desglose
de las diferentes opciones para el comando de ejecución, para darle una idea de cómo
funciona.

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:

Instalación de Docker en Alma Linux 8 / Rhel 8 / Centos 8

También podría gustarte