Qué es Docker y sus ventajas de uso

Vamos a ver qué es Docker y las ventajas que ofrece para cualquier desarrollador, sea cual sea el lenguaje de programación que se utilice para trabajar.

Aprende DevOps para acelerar tus desarrollos de Software
Aprende las herramientas más importantes para acelerar el desarrollo de software: Jenkins, Docker, Kubernetes, Vagrant y más.
Comenzar gratis ahora

Qué es Docker

Docker es una tecnología que nos va a permitir ejecutar un proceso de una manera totalmente aislada del resto de los proceso de la máquina.

Es una tecnología que además de ejecutar ese proceso de manera aislada, nos va a permitir que ese proceso defina todas las dependencias que necesita para ser ejecutado.

Es decir, cuando llegamos a un proyecto nuevo o hacemos un check-out de un repositorio en Github, muchas veces necesitamos instalar una serie de dependencias o esa herramienta que queremos utilizar solo funciona sobre una distribución concreta de Linux.

Esa distribución que necesita para funcionar, las dependencias que necesita del sistema operativo para ejecutar y las dependencias, probablemente, del lenguaje de programación que necesita esa herramienta para ejecutar, con Docker vamos a conseguir empaquetarlas en una imagen, de tal manera que toda esa información está disponible en el momento de ejecutar este programa.

¿Qué conseguimos con eso?

Se consigue que ese programa sea totalmente portable. Vamos a poder ejecutar esa imagen en una maquina Mac, en una máquina Fedora, en una máquina Red Hat o en una máquina Ubuntu, y en todas las máquinas va a funcionar exactamente igual.

Es así porque ese contenedor desde la que vamos a ejecutar el contenedor ya lleva incluidas todas estas dependencias. La única dependencia que vamos a tener es tener instalado en la maquina Docker y un Kernel de Unix.

Muchas veces se utiliza Docker para desarrollar aplicaciones y para correr una aplicación web, pero toda esta tecnología que tenemos disponible de ejecutar un proceso de una manera aislada y sin necesidad de tener las dependencias instaladas en la máquina, también se aplica cualquier otro tipo de comando que necesitemos en nuestros workflows de desarrollo.

Por ejemplo, podríamos tener un contenedor en el que definamos dentro un makefile y éste tendrá todas las tareas de desarrollo que solamos utilizar. Si a este contenedor le montamos con un volumen el directorio de trabajo actual, tendremos un contendor que, sin necesidad de instalar ninguna dependencia en mi máquina, puede ejecutar todos los comandos de make que utilice en mi desarrollo.

Si ya tienes algo de experiencia y quieres profundizar más en el uso de Kubernetes a nivel de desarrollador, te recomendamos realizar nuestro Curso de Docker para Desarrolladores, un curso con el que podrás aprender a aprovechar todas las ventajas de Docker de una forma más profesional.

Aumenta la productividad de tu equipo de desarrollo
Desarrolla el talento de tu empresa 3 veces más rápido con formaciones prácticas y avanzadas de Cloud Computing y DevOps.
Solicitar más información

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información