Virtualización de contenedor con Docker

Docker se ha convertido en una herramienta que nos ayuda tanto a desarrolladores como a administradores de sistemas a probar aplicaciones o sistemas en un entorno seguro e igual al de producción, reduciendo así tiempos de pruebas y adaptaciones a cambios de hardware de un servidor a otro desde el entorno de prueba al de producción esto se unifica y mantiene un desarrollo unido.

Docker es una plataforma de contenedores donde se puede montar en máquinas virtuales aplicaciones, se utiliza como una forma de virtualizar procesos, es portable y escalable y lo más importante es código abierto. En pocas palabras es una herramienta que permite a los desarrolladores a desplegar sus aplicaciones en contenedores para ejecutarse en el mismo servidor.

Virtualización

Una alternativa a la virtualización de hardware la constituye la virtualización del sistema operativo, por la cual diversas aplicaciones de un servidor se implementan en entornos virtuales aislados, los llamados contenedores, que funcionan en el mismo sistema operativo (virtualización basada en contenedores).

Como las máquinas virtuales, cada una con su sistema operativo, los contenedores también brindan la posibilidad de usar en paralelo diversas aplicaciones, cada una con sus requisitos, en un mismo sistema físico. Como los contenedores no disponen de ningún sistema operativo propio, esta técnica de virtualización se diferencia por una instalación mucho más sencilla y un menor consumo.

Contenedor portable y aislamiento de aplicaciones

En Docker podemos desplegar un contenedor en cualquier otro sistema que soporte esta tecnología, haciendo más portable los sistemas que se despliegan dentro del contenedor, con lo que nos ahorraremos el tener que instalar todas las herramientas que se utilizarían en este nuevo entorno todas aquellas aplicaciones que normalmente usemos.

Docker automatiza las tareas repetitivas de configurar y configurar entornos de desarrollo para que los desarrolladores puedan concentrarse en lo que importa: crear un gran software.

las imágenes se pueden transportar cómodamente de un sistema a otro y se caracterizan por una considerable independencia de la plataforma. Lo único que se necesita para iniciar un contenedor desde una imagen, es un sistema operativo que soporte contenedores. En Docker, cada programa funciona independientemente de otros contenedores, de forma que aplicaciones con requerimientos opuestos pueden funcionar en paralelo en el mismo sistema.

Despliegue de Aplicaciones.

Debido a que en una plataforma como Docker todos los contenedores son gestionados con las mismas herramientas, es posible automatizar todas las aplicaciones de manera centralizada. Por esto, estas soluciones están indicadas sobre todo para arquitecturas de servidor, en las cuales los componentes están distribuidos en varios servidores, de forma que se carga con los pesos de instancias diferentes. En estos ámbitos de aplicación, el Docker container dispone de herramientas con las cuales configurar automatismos. Esto posibilita, por ejemplo, iniciar instancias nuevas de forma automática en momentos puntuales de sobrecarga. Google ofrece Kubernetes, un software a la imagen de Docker para la orquestación de grandes clusters de contenedores.

Escalabilidad dentro de Docker

Las publicaciones de software son más rápidas dentro de un contenedor y la frecuencia media de entrega de versiones mediante tecnología es siete veces superiora otros despliegues. La productividad de desarrollo: esto se debe a que reduce el tiempo empleado para configurar nuevos entornos y solucionar los problemas derivados de usar entornos diferentes y las aplicaciones compatibles con Docker pueden transferirse sin problema desde equipos de desarrollo locales. Las aplicaciones con contenedores facilitan la implementación, la identificación de problemas y el retorno a fases anteriores para solucionarlos.

Reusabilidad con Dockers y Kubernetes.

Antes de empezar a utilizar docker, debemos de estar familiarizado con direcciones IP y puertos, máquinas virtuales, archivos de configuración, familiaridad básica con las ideas de las dependencias de código y la construcción, términos de uso de recursos de la máquina, como porcentajes de CPU, uso de memoria RAM en bytes, entre otras cosas.

Otro de los puntos en puntualizar son las plataformas que soportan Dockers lo importante y recomendable es utilizar sistemas operativos que soporten dockers, en este caso se utiliza ubuntu.

 Virtualización vs Contenedores

Empezamos con la instalación .Removemos para quitar todo lo relacionado con docker esto es utilizado por si se ha intentado correr docker con una versión anterior a la actual.

  • sudo apt-get remove docker docker-engine

Se agrega las librerías AUFS para el control de almacenamiento.

  • $sudo apt-get update
  • $sudo apt-get install \ linux-image-extra-$(uname -r) \
  • linux-image-extra-virtual

Instalar paquetes para permitir que apt utilice un repositorio a través de HTTPS:

  • $ sudo apt-get install \ apt-transport-https \ ca-certificates\ curl\ software-properties-common

Añadir la clave GPG oficial de Docker usando su cliente Docker EE la URL del repositorio que se está utilizando:

  • $ curl -fsSL <DOCKER-EE-URL>/gpg | sudo apt-key add –

Hay que comprobar que la huella de la clave sea “DD911E99 5A64 A202 E859 07D6 BC14 F10B 6D08 5F96”.

  • $ apt-key fingerprint 0EBFCD88

Referencias:

https://www.docker.com

https://betabeers.com/content/escalabilidad-despliegues-docker-kubernetes-426/

Tags

Tomas del Angel Mujica
Tomas del Angel Mujica

Deja un comentario


*