Virtualización de aplicaciones con contenedores Docker
Gracias a la espectacular aceptación que henos tenido de mi mini-serie de videos tutoriales sobre Docker en nuestro blog de virtualización y cloud computing he decidido crear este documento con el que crear un guía de referencia sobre que es Docker, para que sirve y como instalarlo.
No quiero que veas esta post como algo oficial, tampoco pretende serlo, sino más bien quiero que veas esta post como algo muy personal que he querido documentar usando mis propias notas, experiencias e infinidad de documentos que me he tenido que leer para saber nada o muy poco de este apasionante mundo de la virtualización de aplicaciones con contenedores Docker.
Es muy probable que de una u otra forma hayas escuchado hablar de Docker y de sus ventajas respecto a la virtualización de sistemas con máquinas virtuales. El objetivo en este post es que de forma clara, sencilla y simpática, entiendas qué es Docker, por qué su uso se ha extendido tanto en estos últimos años y qué beneficios puede aportar en tu centro de datos tanto si ya lo tienes virtualizado o estás pensando en virtualizarlo.
Qué es Docker
Docker no es más que una plataforma de código abierto para que administradores y desarrolladores puedan crear, empaquetar y distribuir sus aplicaciones rápidamente. No es más que un entorno donde vamos a ejecutar “máquinas virtuales” ligeras con sus aplicaciones.
La característica principal en Docker versus un modelo tradicional de virtualización de sistemas donde tenemos máquinas virtuales es que en Docker tenemos contenedores ligeros donde residen las aplicaciones y estos se 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 y la portabilidad de sus aplicaciones.
Cómo instalar Docker
Te puedes estar imaginando ya si eres un desarrollador, que el uso de Docker hace que te puedas centrar más en desarrollar tu código sin preocuparte de si dicho código funcionará en la máquina en la que se ejecutará. ¿Y si eres de sistemas? Pues también te beneficiaria, ya que como los contenedores son más ligeros que las máquinas virtuales, se reduce el número de máquinas necesarias para tener un sistema virtualizable.
Recuerda que un contenedor es mucho más ligero que una máquina virtual, ya que mientras que a una máquina virtual necesitas instalarle un sistema operativo, asignarle disco, CPU, memoria y disco virtual para funcionar de una forma óptima, a un contenedor de Docker solo le hace falta el sistema operativo que tiene la máquina en la que se ejecuta el contenedor.
En este primer video tutorial sobre cómo instalar Docker desde cero aprenderás a:
- Ver la diferencia entre una máquina virtual y un contenedor.
- Ver la arquitectura de bajo nivel de la solución de Docker vs una solución de virtualización de sistemas.
- Instalar el binario de Docker en una máquina con Linux Ubuntu para empezar a crear contenedores, imágenes, etc.
[sociallocker][/sociallocker]
En este segundo video tutorial sobre cómo instalar Docker desde cero aprenderás a:
- Añadir un usuario al grupo Docker para lanzar el Docker run sin el comando sudo.
- Ver la arquitectura cliente-servidor Docker.
- Instalar el primer contenedor de Docker: hello-world
No todo son ventajas en Docker. Existe un “problema” en cuanto a la estandarización de la imagen de estos contenedores. Es aquí donde entra el OCI de las siglas en Ingles Open Container Initiative. Este año 2016 la OCI ha dado un gran paso para estandarizar los contenedores que usan el formato IFS, de las siglas en inglés Image Format Specification.
De esta forma tanto los administradores de servidores como los de las plataformas de la nube tendrá una mejor estandarización de las imágenes en Docker. Se trata de un proyecto abierto (Image Format Spec) el cual pretende estandarizar los contenedores para simplificar la “vida” de los administradores de sistemas.
En este tercer video tutorial sobre cómo instalar Docker desde cero aprenderás a:
- Entender la diferencia entre una imagen y un contenedor en Docker.
- Ver que es el Hub Docker y como bajarse una imagen desde el Hub Docker.
- Instalar un contenedor Tomcat con Docker en cero coma.
Trabajar con imágenes en Docker
En este cuarto video tutorial sobre cómo instalar Docker desde cero aprenderás a:
- Bajar una imagen linux llamada Alpine para modificarla en Docker.
- Ver las imágenes con Docker images y los procesos con Docker ps -a.
- Instalar otra imagen de una ya dada y modificada con Docker commit.
Creando contenedores desde imágenes con Docker build
En este último y quinto video tutorial sobre cómo instalar Docker desde cero aprenderás a:
- Usar el comando Docker build para crear contenedores desde otras imágenes en Docker.
- Crear y usar el fichero Dockerfile en Docker para automatizar la creación de imágenes.
- Lanzar y leer el fichero Dockerfile con el comando Docker build para crear y orquestar la creación de otra imagen desde una imagen dada.
Consulta estos recursos para comenzar a aprender más acerca de docker:
Gracias por leer nuestro blog, participar y compartir.