jueves, 31 de mayo de 2018

¿Sabe usted que es Docker?

Docker 

Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de Virtualización a nivel de sistema operativo en Linux.​ Docker utiliza características de aislamiento de recursos del kernel Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales.

La idea detrás de Docker es crear contenedores ligeros y portables para las aplicaciones software que puedan ejecutarse en cualquier máquina con Docker instalado, independientemente del sistema operativo que la máquina tenga por debajo, facilitando así también los despliegues.
Docker
www.docker.com
Docker (container engine) logo.png
Información general
Desarrollador(es)Docker, Inc.
Autor(es)Solomon Hykes
Lanzamiento inicial13 de marzo de 2013
Última versión estable1.13.01
18 de enero de 2017
GéneroVirtualización
Programado enGo
Sistema operativoLinux
Plataformax86-64 con kernel Linux
LicenciaApache License 2.0


















                                                                                                                       Docker(N/N/)/https://es.wikipedia.org/wiki/Docker_(software)


Docker se compones de varios elementos fundamentales:


Imágenes y Contenedores
Los términos que hay que manejar con Docker son principalmente 2, las imágenes y contenedores.

Las imágenes en Docker se podrían ver como un componente estático, pues no son más que un sistema operativo base, con un conjunto de aplicaciones empaquetadas, mientras que un contenedor es la instanciación o ejecución de una imagen, pudiendo ejecutar varios contenedores a partir de una misma imagen.

Haciendo una analogía con la POO una imagen es una clase y un contenedor es la instanciación de una clase, es decir un objeto.

Resultado de imagen para Repositorios Docker que son

Docker vs Máquinas Virtuales
La gran diferencia es que una máquina virtual necesita contener todo el sistema operativo mientras que un contenedor Docker aprovecha el sistema operativo sobre el cual se ejecuta, comparte el kernel del sistema operativo anfitrión e incluso parte de sus bibliotecas.

En la siguiente imagen podemos ver esta diferencia entre el enfoque de las máquinas virtuales y el utilizado por Docker:


Respecto al almacenamiento en disco, una máquina virtual puede ocupar varios gigas ya que tiene que contener el sistema operativo completo, sin embargo los contenedores Docker sólo contienen aquello que las diferencia del sistema operativo en las que se ejecutan, por ejemplo un Ubuntu con Apache ocuparía unos 180 Mb.

Desde el punto de vista del consumo de procesador y de memoria RAM, los contenedores Docker hacen un uso mucho más eficiente del sistema anfitrión, pues comparten con él, el núcleo del sistema operativo y parte de sus bibliotecas, con lo que únicamente usarán la memoria y la capacidad de cómputo que estrictamente necesiten.

Otras ventajas destacables del uso de Docker serían:

Las instancias se arrancan en pocos segundos.
Es fácil de automatizar e implantar en entornos de integración continua.
Existen multitud de imágenes que pueden descargarse y modificarse libremente.










Luis Carlos Camacho Rodriguez
Ingeniería De Software
Universidad Manuela Béltran

No hay comentarios:

Publicar un comentario