Qué es y para qué sirve Docker
En este artículo hacemos una breve introducción a Docker
Docker es una herramienta opensource para el desarrollo, entrega y mantenimiento de aplicaciones. Docker está diseñado para poner en marcha rápidamente aplicaciones. Con Docker, se puede separar la aplicación de la infraestructura. Docker permite difundir el código más rápido, realizar más rápido las pruebas, y reducir el tiempo entre la escritura de código y la ejecución de código. Docker realiza esto mediante el uso de una plataforma de virtualización de contenedor ligera, utilizando los procesos y herramientas que ayudan a administrar y compartir sus aplicaciones.
En su núcleo permite ejecutar prácticamente cualquier aplicación, con seguridad, aislado en el contenedor. La separación segura permite ejecutar en la misma máquina al mismo tiempo una gran cantidad de aplicaciones. La naturaleza ligera del contenedor, que se ejecuta sin carga adicional, le permite exprimir mucho más el hardware.
Las herramientas de virtualización de plataforma y contenedores pueden ser útiles en los siguientes casos:
distribución y entrega de los contenedores a un equipo de desarrollo para diseñar y realizar pruebas;
poner algunos de estos contenedores en producción, tanto en el cpd como en la nube.
Para qué se usa Docker?
Habitualmente se utiliza en el ciclo de desarrollo de aplicaciones. Permite crear entornos aislados, y controlados de desarrollo. Luego éstos se pueden compartir con el equipo. Asimismo permite realizar testing y despliegues.
Cómo instalar Docker
Para instalar Docker, se pueden descargar de la web oficial los paquetes para Windows o Mac. Adicionalmente también se puede instalar en Linux, y servidores virtuales en la nube como AWS de Amazon, y Azure de Microsoft.
La versión que no requiere de un uso empresarial se denomina Comunity Edition.
Docker trabaja con contenedores y imágenes. Existen varias imágenes ya disponibles para ciertas aplicaciones que se pueden descargar.
A partir de estas imágenes se crean los diversos contenedores.
Este proceso se puede realizar mediante la linea de comandos o a partir de un fichero "Dockerfile". Este fichero de texto permite añadir instrucciones que se ejecutaran de tal modo que se creará un contenedor con las características definidas en ese fichero.
Es mucho más fácil, rápido y mantenible, que hacerlo mediante la línea de comandos.
Persistencia de los datos
Habitualmente los datos que hay en los ficheros de un contenedor se pierden, al apagar ese contenedor. Es por ello que Docker permite asociar sistemas de ficheros en local y mapearlos a una ruta de ficheros dentro del contenedor.
Estos sistemas de ficheros se denominan Volúmenes de datos. Este nexo entre los sistemas de ficheros es bidireccional. Si cambiamos un fichero en el directorio local, cambiará dentro del contenedor y viceversa.
Resumen de los comandos de Docker
Existen multitud de comandos para Docker, pero vamos a resumir aquí los más utilizados:
docker pull Obtiene una imagen del repositorio, habitualmente del Docker Hub
docker info Muestra las opciones de Docker en la máquina host
docker ps Muestra los contenedores en ejecución y parados
docker build Construye una imagen a partir de un fichero "Dockerfile"
docker container start | stop | ls Arranca | Detiene | Lista un contenedor
Puedes obtener una chuleta de comandos de Docker (cheat sheet) en el apartado de chuletas docker.