Hablemos de docker
La idea detrás de Docker es crear contenedores para las aplicaciones que pueda ejecutar cualquier máquina que contenga docker, independientemente del sistema operativo que se encuentre instalado.
¿Que es Docker?
Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones [1] en un contenedor su principal característica es el aislamiento de recurso kernel de linux tales como cgroups y espacios de nombre, para que los contenedores sean independientes y se ejecuten en una sola instancia de linux
La idea detrás de Docker es crear contenedores para las aplicaciones que pueda ejecutar cualquier máquina que contenga docker[2], independientemente del sistema operativo que se encuentre instalado.
Como se mencionamos anteriormente, Docker crea contenedores, pero ¿qué son?, un contenedor es envolver software en un completo sistema de archivos que contiene lo necesitas para ejecutar una aplicación, como por ejemplo: código, herramientas del sistema, librerías y lo que pueda instalar en un servidor.[3]
Los contenedores incluyen la aplicación y todas sus dependencias, además comparten el kernel con otros contenedores. Cada contenedor se ejecuta como un proceso aislado en el espacio de usuario del sistema operativo huésped. Docker puede correr en cualquier computadora, o en cualquier infraestructura de cómputo en la nube.
Características de Docker
A continuación podemos encontrar las principales características de Docker.
- Docker implementa una API de alto nivel para proporcionar contenedores livianos.
- Cada contenedor que se crea y ejecuta corre de manera aislada en el kernel de linux.
- Los contenedores son más livianos que las máquinas virtuales.
- No es necesario instalar un sistema operativo por cada contenedor.
- Capacidad para desplegar multitud de contenedores en un mismo equipo físico.
- Capacidad Multi-sistema, podemos desplegar nuestro sistema en múltiples plataformas.
- Podremos compartir nuestros contenedores para aumentar los repositorios de Docker.
¿Que se puede hacer con Docker?
Con Docker podemos crear diferentes entornos de trabajo y poderlos desplegar en cualquier otro sistema que soporte esta tecnología con lo que podemos ahorrarnos tiempo y recursos al tener que instalar todas las características de la app que estamos trabajando.
Un ejemplo que podemos usar es un entorno de trabajo para desarrollo de una aplicación en python con servidor ngnex, si hacemos esto en un ambiente convencional, necesitaríamos instalar cada aplicación y paquete por separado, para cada desarrollador se tendría que hacer lo mismo, con docker podemos crear un contenedor con estas características, y podemos compartir los archivos generados
¿Cómo funciona Docker?
En principio contamos como una imagen base la cual es un kernel de linux, principalmente la caracteristica de los grupos de control y los espacios de nombre para separa los procesos de tal manera que se ejecuten de forma independiente, esto facilita la posibilidad de compartir una aplicacion o un conjunto de servicios.[4]
Instalar Docker
Como se ha mencionado en este contenido, Docker funciona para múltiples sistemas operativos, lo cual es una ventaja para trabajar, a continuación, explicaremos de forma sencilla como instalar Docker en cada uno de ellos.
Instalar Docker en Windows
Antes de hacer la instalación de docker en windows, requerimos de hyper-v, virtualbox o alguna aplicación de virtualización, ya que para este sistema operativo requiere de este tipo de aplicaciones, para nuestro caso usaremos el hyper-v
Para activar hyper-v tenemos este posts donde crear maquina con hyper-v donde esta como activarlo
Descargamos la versión estable desde el sitio oficial de docker y procedemos a la instalación de la siguiente forma:
Al hacer click el ejecutable, se desplegara la siguiente ventada en donde empezara a descargar los paquetes que requiere para su instalación.
Una vez que termine la instalación que muy simple, nos pedirá que creemos la cuneta y que iniciemos sesión para poder trabajar, esto con el fin de poder subir nuestras imágenes al repositorio de docker.
En el para crear la cuenta en donker podemos ir al sitio oficial en donde solo hay que registrar los siguientes datos para crear la cuenta.
- Identificador único para docker, se asemeja al usuario.
- Correo electrónico
- Contraseña.
Después de dar en sign up, se enviará al correo la confirmación de la cuenta de docker.
Liego nos pedirá que iniciemos sesión con el usuario creado anteriormente.
Se observara en la esquina inferior derecha el icono de docker en donde indica que se está ejecutando correctamente.
Donde también podemos comprobar en hyper-v que la máquina virtual que creo para correr docker.
Para instalar docker en linux solo hay que ejecutar los siguientes comandos en la terminal.
El siguiente comando se obtiene de get docker, el cual funciona para cualquier distribución de linux.
#Instalar docker
curl -fsSL get.docker.com -o get-docker.sh
Luego nos pedirá que coloquemos el usuario de docker a los permisos de sudo para poder ejecutar los comandos sin problemas.
sudo usermod -aG docker ubuntu
Referencias
[1] Docker Wikipedia, Tomado de https://es.wikipedia.org/wiki/Docker_(software), Consultado Diciembre 2017
[2] javiergarzas, Tomado de http://www.javiergarzas.com/2015/07/que-es-docker-sencillo.html, Consultado Diciembre 2017
[3] html5facil, Tomado de http://html5facil.com/tutoriales/intro-docker-contenedor/, Consultado Diciembre 2017
[4] openwebinars, Tomado de https://openwebinars.net/blog/docker-que-es-sus-principales-caracteristicas/, Consultado Diciembre 2017