¿Qué es Docker?
Cuando desarrollas aplicaciones web es comun que necesites de bases de datos, software de servidor, y bibliotecas necesarias para que tu programa funcione. es por esto que si despliegas tu proyecto en una platforma de la nube o se lo pasas a otro desarrollador, estos requeriran saber que programas necesitan insalar y en que version para que tu proyecto funcione en sus computadores.
aqui es donde entra docker, el cual es un programa que te permite crear un archivo en donde puedes especificar los programas y las versiones especificas que necesita tu proyecto para funcionar. De este modo cuando alguien clona tu proyecto, no solo obtiene tu codigo sino tambien todos los programas necesarios, ademas permite aislar tu proyecto de otros proyectos que tengas en tu computador como si fuera una maquina virtual, solo que consume menos recursos que estos. y a este entorno aislado se le conoce como contenedor. Es decir que puedes crear un contenedor de tu aplicacion y otros desarrolladores pueden descargarlo y unirlos a otros contenedores existen para crear programas mas complejos como si fueran piezas de lego. Al dia de hoy hay contenedores de todo, mysql, nxing, apache, nodejs, python, go, php, java, y asi.
Y debido a que en una aplicacion puede estar formada por muchos contenedores tenemos herramientas que permiten administrarlos a todos, llamadd orquestadores de contenedores como Kubernetes, Open Shift o Docker Swarm.
Para conocer más de Docker, visita fazt.dev/docker