kubernetes, contenedores

Cómo montar paso a paso Dockers

Docker es una herramienta de gestión de contenedores a nivel de sistema operativo que permite gestionar y desplegar fácilmente las aplicaciones, facilitando su empaquetado dentro de los contenedores del sistema operativo.

La portabilidad y el ligero peso de Docker también facilitan la gestión dinámica de las cargas de trabajo, ampliando o eliminando aplicaciones casi en tiempo real. Uno de los principales beneficios de Docker, y de la tecnología de contenedores, es la portabilidad de las aplicaciones. Por si fuera poco, es posible desplegar una aplicación en un entorno Cloud en cuestión de minutos.

Los contenedores son similares a las máquinas virtuales, salvo que los contenedores, por lo general, solo incluyen los paquetes y aplicaciones del sistema operativo que le son necesarios. Generalmente no contienen un sistema operativo completo o virtualización de hardware, por eso son «ligeros». Un contenedor se utiliza generalmente para aislar un proceso en ejecución dentro de un solo host para garantizar que los procesos aislados no puedan interactuar con otros procesos dentro de ese mismo sistema. Docker permite crear y trabajar con los Contenedores de la forma más fácil posible.

Instalar Docker

Para empezar con lo básico de Docker, lo instalaremos empleando un administrador de paquetes como pueden ser apt-get, yum, y otros. Después de la instalación, para empezar, comprobamos si tenemos algún contenedor funcionando, por lo que podemos ejecutar el comando Docker «ps». La función ps del comando Docker funciona de manera similar al comando ps de Linux, mostrando los contenedores Docker disponibles y sus estados actuales. Como aún no hemos iniciado ningún contenedor, el comando no va a mostrar ningún contenedor en ejecución. Es posible desplegar un contenedor construido de antemano de la misma manera que se desplegaría un paquete con yum o apt-get.

Cómo usar las imágenes de Docker

Las imágenes son una de las características básicas de Docker y son similares a la imagen de una máquina virtual. Al igual que las imágenes de máquinas virtuales, una imagen Docker es un contenedor guardado y empaquetado. También incluye la capacidad de distribuir esas imágenes a través de los repositorios Docker, que son un concepto similar a los repositorios de paquetes.

Cuando Docker inicia un contenedor basado en una imagen especificada, necesita encontrar primero esa imagen, así que, antes de comprobar un repositorio remoto, primero comprueba localmente si hay una imagen con el nombre dado. Si no es así, se descarga la imagen de un repositorio Docker.

Detener y eliminar el contenedor

Una operación común es detener el contenedor y, posteriormente, eliminarlo. Es sencillo: para iniciar un contenedor ejecutamos el comando Docker con la opción «run»; para detener ese mismo contenedor simplemente tenemos que ejecutar el comando Docker con la opción «kill» especificando el nombre del contenedor.

Con ese comando tan solo hemos detenido el contenedor, el cual, aunque puede que ya no esté en funcionamiento, sigue existiendo. Para comprobarlo ejecutaremos «docker ps», pero añadiendo «-a», lo cual mostrará todos los contenedores, ya estén en funcionamiento o no. Para eliminar completamente el contenedor utilizaremos el comando docker con la opción rm.

Imagen de la plataforma de producción

Docker es una gran herramienta para contener una aplicación. Veamos una simple checklist para crear una imagen Docker en producción:

  • La aplicación debe ser empaquetada con un conjunto mínimo de elementos que se requieren para ejecutar la aplicación. Lo mejor es evitar incluir dependencias innecesarias de construcción o desarrollo.
  • La aplicación puede necesitar credenciales para hablar con base de datos, por ejemplo. Todas estas son dependencias en tiempo de ejecución para la aplicación y nunca deben ser añadidas a la imagen de la base de datos.
  • Casi todas las instrucciones en el Dockerfile crean una capa y para hacer que la construcción sea más rápida, Docker las intenta almacenar en caché.

Despliegue con Docker Compose

Docker Compose es una herramienta para definir y ejecutar aplicaciones que permite crear y probar aplicaciones basadas en pilas y bibliotecas de software. La necesidad de Docker Compose se entiende fácilmente, ya que una aplicación puede constar de múltiples niveles o subcomponentes. En el despliegue en contenedores, estos componentes deben desplegarse como una unidad individual. Se trata de una herramienta que reduce la complejidad de manera muy eficiente.