¿ Docker,que es?.Contenedores vs Virtualización. > BetaEconomia

¿ Docker,que es?.Contenedores vs Virtualización.

En el mundo de la tecnología, se va imponiendo con mucha fuerza el uso de docker container, esta publicación aspira a ser un punto de partida para aquellos que al igual que yo,desean adentrarse en este fascinante mundo de los contenedores linux.Antes de empezar quiero aclarar que la información que publicare es tomada en su mayoría de un excelente libro recién publicado este año por Alberto González, quien es actualmente Cloud Consultant en RED HAT.Recomiendo a los interesados comprar el libro pues esta todo muy bien explicado a pruebas de dummies como yo,les dejo el link del libro en Amazon de donde yo lo compre:

Bueno, mucho he escuchado últimamente acerca de docker cloud, docker image , docker run, docker build,etc.Como para volverse loco, pero que es docker ?, no es una tecnología, sino una forma de acceder a ella, conocida con el nombre de contenedores y fue adoptada recientemente por el núcleo de Linux.La función de docker es facilitar la creación y manipulación de los container docker.Ha sido tal el éxito del proyecto que empresas como RED HAT, Google, IBM , Microsoft entre otras , han apoyado su desarrollo y madurez,proporcionando código y soporte.

Te invito a que te unas al grupo en facebook de Linux para Hispanosparlantes:

https://www.facebook.com/groups/1238804002895443

Contenedores vs Virtualizacion

Virtualizacion: Consiste en añadir una capa de abstracción a los recursos físicos con el objetivo de mejorar el uso de los recursos del sistema.

Diferentes tipos de visualización:

  • Virtualizacion completa: La maquina virtual no tiene acceso directo a los recursos físicos y requiere una capa superior para acceder a ellos.Algunos ejemplos son VirtualBox,QEMU,Hyper-V,VMware ESXi.
  • Virtualizacion asistida por hardware: Es el hardware el que facilita la creación de la maquina virtual y controla su estado.Algunos ejemplos son KVM,Xen,VMWare fusion.
  • Virtualizacion a nivel de sistema operativo: Aquí se incluye docker.El encargado de aislar los recursos y proporcionar las herramientas necesarias para crear,manipular o controlar el estado de los contenedores es el sistema operativo y no el hardware.

El uso principal que en mi caso le daré a docker sera para montar sitios web con WordPress, ya sea mientras un hosting de empresa o en servidor personal hogareño para desarrollar las imágenes.

Si eres nuevo en este mundo te recomiendo que uses WordPress para tu emprendimiento,debido a su facilidad de uso, soporte y enorme comunidad detrás de su desarrollo y mantención.Si deseas saber mas sobre las razones principales para usar este CSM visita:

https://tipswp.com/2017/07/08/wordpress-razones-usar-este-csm/

Las docker images están compuesta de todo lo necesario para ejecutar una o varias aplicaciones,aunque se sugiere que se aísle lo máximo posible a razón de una imagen de docker para cada aplicación.El docker container incluye librerías del sistema operativo,herramientas del sistema,runtime.

¿Que es una imagen?,una docker image es todo lo que encontramos  dentro de un contenedor, una image contiene distintas capas de datos (la distro linux,softwares,librerías y la personalización).

contenido docker
docker

 

 

 

 

 

 

 

 

 

 

 

 

 

En la imagen se puede diferenciar:

Debian, emacs y Apache.Una vez este listo el docker build tendremos instalados el editor y el servidor web corriendo sobre Debian.

Un contenedor puede ejecutar varias aplicaciones,sin embargo por motivos de mantenimiento se recomienda separarlas en varios contenedores porque son muy ligeros,acá menciono algunos ejemplos:

  • Copia de seguridad y restauración
  • Reinicio de aplicaciones (Las demás no se verán afectadas)
  • Limitar los recursos asignados a cada aplicación
  • Monitorizar las aplicaciones individualmente

En la actualidad y debido al éxito del mismo, su uso ya no solo se reduce a manejar contenedores,también se usa para:

  • Docker Engine: Es su uso principal que permite el trabajar con contenedores e imágenes,acá se subdivide en tres componentes relacionados:
  1. Docker para Linux: Instalación de docker en un ordenador con linux instalado.
  2. Docker para Windows: Usa una aplicación nativa que incluye todas las herramientas necesarias para ejecutar Docker.
  3. Docker para Mac: Una aplicación nativa que utiliza el “sandbox” de macOS para proporcionar todas sus herramientas necesarias.
  4. Swarm mode: Permite desplegar contenedores en alta disponibilidad de forma sencilla,ideal para su uso en servidores.
  • Docker Hub: Un servicio alojado en la nube para administrar y almacenar imágenes de Docker
  • Docker Cloud: Otro servicio alojado en la nube para crear,probar y desplegar imágenes en servidores propios
  • Docker compose: Define aplicaciones usando varios contenedores

Antes de terminar y debido a su importancia  en el uso en servidores,veamos algunas características importantes del Swarm mode :

  • Administración de Cluster utilizando Docker Engine
  • Diseño descentralizado, es posible crear un cluster utilizando solo una imagen
  • Facilidad de escalar servicios para desplegar contenedores para satisfacer necesidades
  • Facilidad de definir servidores frontend y backend
  • Monitorizacion del estado del cluster y posibilidad de solucionar problemas automáticamente
  • Descubrimiento de servicio a través de DNS integrado en Swarm
  • Balanceador de carga(Load Balancing) a distribuir entre los contenedores
  • Seguridad en comunicaciones entre los nodos Swarm

En otras publicaciones pasaremos a demostrar en la practica el install docker, así como docker desployment.

Si sientes curiosidad por este fascinante mundo únete a nosotros:

https://www.facebook.com/groups/1238804002895443/

Tal vez te interese leer:

meneame tiene un error importante al recuperar contraseña,solución.

 

 

 

 

 

 

 

Deja un comentario