¿Que es y para que sirve Docker?

En el mundo del desarrollo, podremos encontrar múltiples herramientas, recursos, librerías, frameworks que nos permiten agilizar y volver mas sencillo nuestro trabajo. En esta ocasión te presento una herramienta llama Docker.

¿Que es Docker?

Docker es un sistema de contenedores, que nos va a permitir tener encapsulada nuestra aplicación o servicio. Permitiéndonos hacer despliegues rápidos, optimizar recursos y hasta instalar servicios que nos podrían llevar un tiempo considerado.

¿Como instalamos Docker en nuestro proyecto?

Para poder integrar docker a nuestro proyecto es muy simple, solo basta crear un archivo llamado dockerfile:

Imagen del archivo

Una vez creado el archivo, procedemos a configurar el archivo dependiendo de nuestro proyecto, en este aspecto dockerizamos un proyecto de node js estableciendo una versión de node 8.11.4

Este docker representa un proyecto de node js

Repositorio de imágenes Docker

Si así como leíste, docker cuenta con su propio repositorio,  así como node js utiliza npm y git para la gestión o repositorio de proyectos, docker cuenta con un repositorio de imágenes ya predefinidas y que muchas empresas aportarn sus servicios de forma oficial y segura. Este repositorio conocido como docker hub podrás encontrar todo tipo de imágenes de servicios o SO que podemos instalar en nuestro entorno de desarrollo.

Docker una herramienta que no debe faltar en tu stack

Así como leíste, cuando se trabaja en algún proyecto, siempre tenemos considerado a docker como herramienta esencial para el despliegue de nuestro sistema o instalar algun  servicio requerido (mysql, postgress, mongo, etc ...)

Ademas que nos brinda rapidez en desplegar o instalar nuestro proyecto o servicio, igual nos va garantizar que no importa en que computadora estes, nuestro proyecto dockerizado, siempre va funcionar y olvidate de los pretextos comunes :

  • Que raro, en mi computadora funcionaba.
  • De seguro tienes una version diferente de base de datos o lenguaje.
  • Actualiza tu sistema o servicio al mas actual.
  • De seguro es el puerto, desisntala o cambia el puerto de tu programa o servicio (Generalmente eso se da mucho con lampp y skype)
  • Que flojera instalar todos los servicios en otro servidor

Conclusión

Implementando docker en tus futuros proyecto te puedes ahorrar muchos dolores de cabeza, claro estas son algunas ventajas que te proporciona docker por si solo, pero existen otras herramientas que te podrán permitir nivelar carga, orquestar contenedores como kubernetes, pero esto es otro tema para otro día. Este post fue para que vieras el potencial de esta herramienta desde que es y como integrarlo en nuestro proyecto. En el siguiente post, estaremos viendo la instalación de docker y como poner en producción nuestro proyecto mediante el dockerfile.

Si tienes dudas acerca de algo, escribe tu comentario y con gustos te podemos apoyar.