DEV Community

jose muñoz
jose muñoz

Posted on

Sin Containers no hay paraíso.

La primera vez que escuché hablar de Docker fue gracias a uno de mis mentores,fue como cuando alguien te recomienda una serie buenísima… y tú dices “sí, la voy a ver”, pero nunca la ves.

Hasta que un día, recibí una aplicación que debía mantener. El deploy se hacía con Docker.

En ese momento tenía dos caminos:

  1. Seguir los comandos del manual sin entender nada.
  2. Aprovechar la oportunidad para aprender el porqué detrás del cómo.

Después de un tiempo, decidí hacer lo segundo.

Docker no es solo una herramienta, es un superpoder.

El poder del encapsulamiento

Pero antes de seguir, vale la pena responder la gran pregunta:

¿qué es Docker realmente?

Imagina que tu aplicación es como un platillo de cocina.
Necesita ingredientes (dependencias), una receta (tu código) y una cocina con las mismas condiciones (el ambiente donde se ejecuta).

El problema es que cada computadora es una cocina distinta:
en una falta la harina, en otra el horno calienta demasiado, y en otra ni siquiera hay gas.

Docker soluciona eso creando una cocina portátil.

Empaqueta todo lo necesario —el código, las librerías / el ambiente dentro de un contenedor que puedes llevar y ejecutar donde sea.
Y lo mejor: siempre sale igual.

Técnicamente, Docker utiliza contenedores, entornos aislados que comparten el mismo kernel del sistema operativo, pero se comportan como si fueran máquinas independientes.
Eso los hace ligeros, rápidos de iniciar y consistentes entre desarrollo, pruebas y producción.

En resumen:

Docker te deja decirle al mundo “mi aplicación corre aquí”
y saber que también correrá allá.

Lo que realmente enseña Docker

Más allá de la magia técnica, Docker te enseña algo que todos los desarrolladores aprendemos tarde o temprano: los entornos importan.
No basta con que el código funcione, tiene que funcionar igual sin importar dónde se ejecute.

Y eso es precisamente lo que Docker hace tan bien.
Empaqueta tu aplicación, tus dependencias, tu configuración.

Lo que antes requería una lista de pasos, versiones y oraciones tipo:

Primero instala esto, luego corre esto otro

ahora se reduce a:
docker run calculadora

Y listo.
Simplemente funciona.

Antes de Docker:

“No sé por qué no te corre.”

“En mi máquina sí funciona.”

“Debe ser tu versión de Node.”

Después de Docker:

“Corre el contenedor y listo.”

Silencio… porque simplemente funciona.

Docker te da algo que muy poco he visto: consistencia.

Esa sensación de que lo que probaste localmente será exactamente lo que verás en producción.
Y eso, para cualquiera parecera un milagro.

Porque con Docker ya no hay “funciona en mi máquina”.
Hay algo mucho mejor:

“Funciona en todas.”

Top comments (0)