Docker es una plataforma que empaqueta aplicaciones dentro de contenedores para que funcionen igual en cualquier computadora o servidor.
El problema que todo desarrollador conoce
Imagina que pasaste tres días configurando una aplicación en tu laptop. Todo funciona perfecto. Luego la subes al servidor de tu empresa y... nada funciona. El equipo de operaciones te dice: "en mi máquina no corre". Tu jefe espera resultados. El cliente está molesto.
Este escenario le pasa a equipos de tecnología todos los días, incluso en empresas grandes como Mercado Libre o FEMSA. El origen del problema casi siempre es el mismo: los entornos de desarrollo y producción son diferentes. Distintas versiones de librerías, distintos sistemas operativos, distintas configuraciones.
Docker nació exactamente para eliminar ese problema.
El Sistema del Contenedor: una caja que lleva todo
Piensa en Docker como una caja de mudanza sellada. Dentro de esa caja va todo lo que tu aplicación necesita para funcionar: el código, las librerías, las dependencias y la configuración. No importa si la caja llega a una laptop con Windows, a un servidor Linux en la nube de AWS, o a la computadora de un colega en Guadalajara. El contenido de la caja siempre es el mismo.
A esta "caja" se le llama contenedor. Y al plano que describe cómo construir esa caja se le llama imagen.
Esta es la diferencia fundamental que debes memorizar:
- Imagen: la plantilla. Es estática, como una fotografía.
- Contenedor: la imagen corriendo. Es dinámico, como una película.
Una misma imagen puede generar decenas de contenedores al mismo tiempo. Eso es exactamente lo que hacen plataformas de alto tráfico cuando hay muchos usuarios conectados a la vez.
¿Por qué Docker importa en el mercado laboral mexicano?
En México, el perfil de desarrollador que sabe Docker tiene una ventaja real en el mercado. Las ofertas de trabajo en plataformas como OCC Mundial y LinkedIn México muestran una diferencia notoria. Un desarrollador backend sin Docker puede aspirar a salarios de $18,000 a $22,000 al mes. Con Docker y conocimientos de contenedores, ese rango sube fácilmente a $25,000 o $30,000 al mes.
Empresas de tecnología en México —desde startups en la Ciudad de México hasta corporativos como Liverpool o Bimbo con equipos de transformación digital— buscan perfiles que entiendan contenedores. No es una habilidad del futuro. Es una habilidad del presente.
Cómo Docker cambió el trabajo en equipos reales
Antes de Docker, cuando un equipo de desarrollo quería probar una nueva versión de su aplicación, necesitaba coordinarse con el equipo de infraestructura. Ese proceso podía tardar días. Había que configurar servidores, instalar dependencias manualmente y rezar para que nada fallara.
Con Docker, un desarrollador puede crear un contenedor con la nueva versión, probarlo localmente y subirlo al servidor en minutos. El equipo de operaciones solo necesita correr un comando. Todo lo demás ya está empaquetado dentro del contenedor.
Eso reduce errores, ahorra tiempo y acelera los lanzamientos de producto.
Lo que Docker NO es
Mucha gente confunde Docker con una máquina virtual. La diferencia es importante.
Una máquina virtual simula una computadora completa, incluyendo su propio sistema operativo. Es pesada. Puede ocupar varios gigabytes y tardar minutos en arrancar.
Un contenedor de Docker comparte el sistema operativo del servidor anfitrión. Es ligero. Ocupa megabytes y arranca en segundos.
Piénsalo así: una máquina virtual es como construir una casa nueva para cada invitado. Un contenedor es como darle a cada invitado su propio cuarto dentro de la misma casa. Más eficiente, más rápido, menos costoso.
Tu primer vistazo a Docker en acción
Cuando instalas Docker y abres una terminal, puedes correr este comando:
docker run hello-world
Docker descarga una imagen pequeña llamada hello-world y la ejecuta como contenedor. En tu pantalla aparece un mensaje de confirmación. En ese momento, ya corriste tu primer contenedor.
Más adelante en este curso harás cosas mucho más potentes: empaquetar una aplicación real, conectar una base de datos, y desplegar todo en un servidor. Pero ese primer comando es la semilla de todo lo demás.
Qué vas a aprender en este curso
Este curso está diseñado para que pases de cero a un nivel funcional con Docker. No necesitas experiencia previa con contenedores. Sí necesitas saber algo de terminal o línea de comandos, y tener nociones básicas de programación.
Estas son las habilidades concretas que vas a desarrollar:
- Instalar Docker en cualquier sistema operativo sin errores.
- Entender imágenes y contenedores y cómo se relacionan.
- Escribir tu propio Dockerfile para empaquetar cualquier aplicación.
- Usar volúmenes para que tus datos no se pierdan cuando el contenedor se detiene.
- Conectar contenedores usando redes de Docker.
- Orquestar múltiples servicios con Docker Compose usando un solo archivo.
- Publicar tu imagen en Docker Hub para compartirla con tu equipo.
- Desplegar en producción con buenas prácticas de seguridad.
Cada lección tiene ejemplos que puedes copiar y ejecutar directamente en tu computadora. No hay teoría sin práctica.
El flujo completo de Docker
Antes de avanzar, graba este flujo en tu mente. Es el ciclo básico de trabajo con Docker:
- Escribes un Dockerfile que describe tu aplicación.
- Construyes una imagen a partir de ese Dockerfile.
- Ejecutas la imagen como un contenedor.
- El contenedor corre tu aplicación de forma aislada.
- Cuando terminas, puedes detener y eliminar el contenedor sin afectar tu sistema.
Este ciclo se repite miles de veces al día en los equipos de ingeniería de empresas como Mercado Libre, que despliegan decenas de servicios independientes usando contenedores.
Por dónde empezar
En la siguiente lección vas a instalar Docker en tu computadora. El proceso es diferente según tu sistema operativo, y hay errores comunes que la mayoría de principiantes comete. Te voy a mostrar cómo evitarlos.
Antes de continuar, guarda esta idea:
Docker no elimina la complejidad de tus aplicaciones, pero sí elimina la complejidad de moverlas de un lugar a otro.