newbie

¿Qué es Docker?

¿Qué es Docker?

Docker es una aplicación que te permite correr cualquier aplicación. ¿suena extraño? Docker cumple una función específica en el ciclo de desarrollo de software. Docker nos permite “empaquetar” aplicaciones.

Imagina ese caso de uso: En tu compañía te pidieron que crearas una aplicación web. Terminas de desarrollar tu aplicación en tu lenguaje favorito y cuando quieres montar la aplicación para que la consuma toda la compañía, te dicen que el servidor no tiene instalado el “runtime” para el lenguaje de programación que escogiste. La buena noticia es: todos los servidores de producción tienen instalado Docker. Tienes dos opciones: pedirle a los administradores de servidores que instalen el runtime de tu lenguaje ó empaquetar tu aplicación en un “container” para Docker.

Como desarrollador el caso de uso más común será: quiero montar mi ambiente de desarrollo pero no quiero instalar todas las dependencias localmente. Con Docker puedes correr PostgreSQL/MySQL, Redis, Elasticsearch, etcétera, en tu ambiente local sin tener que instalarlo. Piensa en cada dependencia externa como un paquete (“container”) al que puedes acceder gracias a Docker.

¿Cuál es la diferencia entre una máquina virtual y contenedores de Docker? Una máquina virtual monta todo el sistema operativo y los contenedores montan solo lo necesario para correr. Los contenedores se comparten los recursos a nivel del sistema operativo que tienes instalado. Docker es una interfaz que te permite manejar esos contenedores de una manera conveniente.

Quiero aprender más