Es verdad, todo va demasiado rápido, tanto, que a veces cuesta seguir las novedades en el mundo de la computación en la nube. A modo de brújula, hoy voy a tratar uno de esos nuevos conceptos, concretamente de Docker.
Índice de contenidos
¿Qué es Docker?
Se trata de una plataforma abierta, destinada a la construcción, el transporte y la ejecución de aplicaciones distribuidas. Quizás éste definición deje a muchos con la misma pregunta sin resolver. Definiendo aún más podríamos decir que se refiere a todo aquello que facilita la creación, implementación y ejecución de aplicaciones mediante el uso de contenedores. Dichos contenedores permiten a un desarrollador empaquetar un aplicación con todas las partes que necesita, es decir, bibliotecas y dependencias, y usarlo todo como si fuera un sólo paquete. Simplificando aún más, si conocemos un poco el mundo de las máquinas virtuales, los contenedores funcionan de manera parecida, la diferencia es que utilizan el mismo núcleo o kernel del sistema operativo huésped. De ésta manera se garantiza el buen rendimiento y buen uso de recursos por parte de la aplicación. Si queréis ampliar información al respecto podéis visitar la web oficial de Docker o el artículo que escribí en su día en la web ochobitshacenunbyte
¿Cómo implemento Docker?
Docker se puede implementar en sistemas operativos tipo GNU Linux, Microsoft Windows o Mac OS X. En nuestro caso, ya que nos gusta el software libre, utilizaremos el primero. Necesitamos para ellos un sistema operativo anfitrión, en nuestro caso un sistema Ubuntu Server, en su última versión, que a fecha de hoy es la 14.04 LTS
La versión que vamos a utilizar de Ubuntu ya viene con Docker en su versión 0.9, como no sabemos si hay una más reciente, nos descargamos la última versión, utilizaremos el comando wget para poder descargarla, si no lo tenemos lo debemos de instalar previamente.
Una vez finalizada la instalación, se nos sugiere que añadamos nuestro usuario dentro del grupo ‘docker’, para así no tener que usar el usuario ‘root’, de la siguiente manera:
Para que el cambio sea efectivo debemos desconectar nuestro usuario y volver a conectarlo.
En mi caso, una vez instalado, podemos comprobar la versión instalada con:
La versión instalada, a fecha de éste artículo, es la 1.7.1
Verificamos que Docker funciona correctamente, utilizamos la imagen de bienvenida recomendada, llamada hello-world
Si nos muestra un mensaje similar al siguiente es que todo ha salido bien:
Tal y cómo hemos podido ver, hemos cargado la imagen de Docker en un contenedor, llamada “hello-world”
En éste caso la imagen que hemos cargado es muy simple, pero recordemos que en un contenedor podemos cargar cosas complejas como bases de datos o aplicaciones como ERP o servidores Web.
¿Dónde puede encontrar más imágenes?
En DockerHub podemos encontrar muchas imágenes creadas por la comunidad o por organizaciones como RedHat, IBM o Google.
Vamos a utilizar una imagen con el motor de base de datos MYSQL
Al acceder vamos a ver una serie de instrucciones para poder instalar dicha imagen en nuestro sistema.
Seguiremos las instrucciones y ejecutamos la siguiente orden:
En MYSQL_ROOT_PASSWORD, indicaremos la contraseña que más nos interese, y en “mysql:tag” en la parte de “tag” añadiremos la versión, que en mi caso será la 5.5
Este proceso puede tardar un rato, depende de nuestra conexión a Internet.
Al cargar la imagen accederemos dentro del contenedor. Si escribimos:
Accederemos a la consola mysql. Para salir de la consola y del contenedor, en ambos casos con la orden ‘exit’
Desde nuestro servidor podemos ver la lista de las imágenes descargadas, estén o no iniciadas:
En el caso anterior también podríamos usar:
Si queremos ver sólo los contenedores iniciados sería:
Para iniciar un container:
Para pararlo:
Con Docker podremos tener tantos contenedores como nuestro servidor pueda soportar y nuestra imaginación alcanzar ; )
Con esto daremos el artículo por finalizado. Hemos podido ver en que consiste Docker y los primeros pasos básicos de su funcionamiento, utilizando imágenes de contenedores descargados de la nube. Os invito a profundizar en su funcionamiento y en su larga lista de posibilidades.
Si queréis comenzar a probar los contenedores con Docker, podéis seguir las instrucciones desde su web oficial