Docker es un proyecto de software libre que permite la automatización de despliegue de aplicaciones dentro de contenedores, esto provee una capa adicional en la virtualización a nivel de sistema operativo en Linux. Docker usa recursos del sistemas totalmente aislados, función que la provee cgroups en Linux desde la versión 2.6.29, también se utilizan nombre de espacios en el kernel para la ejecución de instancias simples de Linux o también llamadas "contenedores" LXC (Linux Containers). En las últimas versiones de Docker se ha introducido drivers de Docker y una librería llamada libcontainer, que ayuda a que Docker sea totalmente multiplataforma, teniendo compatibilidad con Windows y Mac OS X, además de Linux.
El proyecto Docker ha recibido gran acogida por parte de la comunidad, y actualmente servicios como AWS (Amazon Web Service) dan soporte a esta tecnología.
El futuro de los SysAdmin y DevOps
Actualmente la mayoría de los sistemas en internet se ejecutan en servidores dedicados exclusivamente o en sistemas de computación en la nube, y
Con Docker todo esto se convierte en algo sencillo de hacer, así como VirtualBox lleva la virtualización a más personas, Docker lleva el uso de contenedores a más personas. El proyecto es joven, su primer release se publicó en el 2013, y actualmente se encuentra en la versión 1.2.
Antes de seguir hablando de Docker, es bueno definir el término "imágenes", dentro de Docker una imagen es una instancia de Linux básica o preconfigurada con las aplicaciones que queremos ejecutar.
Esto básicamente es una infraestructura sobre Docker, donde se tiene el motor de Docker (Docker Engine), que nos permite realizar todas las acciones sobre las imágenes que descarguemos o construyamos y dentro de las imágenes se encuentran las librerías, binarios que necesitamos y las aplicaciones.
Ya sabemos técnicamente que es Docker, pero, ¿Para qué me sirve?
El principal objetivo de Docker es simplificar la infraestructura de aplicaciones, para su despliegue y distribución, es decir, que si yo logro implementar Docker en una aplicación puedo distribuir ese contenedor entre otros desarrolladores (sin importar que sistema operativo usen), reduciendo el tiempo de implementación en desarrollo y producción dentro del equipo de trabajo, de esta manera la brecha entre desarrolladores y administradores de sistemas se vuelve más pequeña.
Docker da la posibilidad de tener todo el entorno para la aplicación y publicar los cambios que se realicen fácilmente, además de hacer todo el despliegue en producción de una manera bastante fácil y profesional.
Otra cosa que el proyecto nos ofrece es un repositorio de imágenes al estilo Github, Docker se convierte en el Github de los SysAdmin y DevOps, este componente del proyecto se llama Registry o Docker Hub y desde cualquier lugar podemos, crear, compartir y consumir imágenes creadas por nosotros o por terceros.
- ¿Que opinas sobre Docker?
- ¿Deseas conocer más sobre Docker?
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por LuizJa el 17 de Septiembre de 2014
Por yograterol el 18 de Septiembre de 2014
LuizJa-blog :
Jails sería el LXC que usa Docker, Docker lo que hace es facilitar el uso de LXC en pocas palabras, dando una interfaz más amigable y usable.
Por Menticolcito el 22 de Septiembre de 2014
Por vanvanero el 07 de Octubre de 2014
Por Docker expert el 17 de Marzo de 2016