Saltar al contenido principal
MDev Env Pro
Guía: Guía Docker para Devs71% Completado

En este módulo aprenderás:

  • Sincroniza tu código en tiempo real usando Bind Mounts y conecta contenedores con redes privadas.
  • Comandos y configuraciones clave para 05. Volúmenes, Network y Hot Reload
  • Ejercicios prácticos listos para probar en tu terminal local

Hot Reload y Redes Privadas

Mano, el verdadero flujo de desarrollo Ninja se logra cuando editas un archivo en tu editor de código (VS Code o Neovim) y el servidor dentro del contenedor se actualiza en menos de 100ms sin necesidad de volver a compilar la imagen.

Bind Mounts vs Named Volumes

  1. Bind Mounts (- .:/app): Mapean una carpeta de tu disco local directamente dentro del contenedor. Es perfecto para sincronizar código fuente en tiempo real durante desarrollo.
  2. Named Volumes (postgres_data): Son gestionados internamente por Docker en una ruta optimizada. Ideales para persisitir datos de bases de datos.

Docker Compose Watch (La Nueva Forma Pro)

En Docker Compose v2.22+, puedes usar la funcionalidad watch nativa:

docker-compose.ymlyaml
services:
web:
  build: .
  command: pnpm dev
  develop:
    watch:
      - action: sync
        path: ./src
        target: /app/src
      - action: rebuild
        path: package.json
# Iniciar con sincronización inteligente en tiempo real
docker compose watch

Redes Internas en Docker (bridge)

Todos los servicios definidos dentro del mismo docker-compose.yml se unen automáticamente a una red privada virtual. Puedes conectar tu aplicación a la base de datos usando simplemente el nombre del servicio (ej: db:5432) sin preocuparte por la IP del contenedor.

Ejercicio Práctico Ninja 🥷

  1. Configura un bind mount - .:/app en tu servicio de desarrollo.
  2. Cambia una línea de texto en tu archivo fuente y comprueba en el navegador que el cambio se reflejó al instante.
  3. Revisa la red interna ejecutando docker network ls.

¿Terminaste esta lección?

Marca tu progreso para sincronizar el avance en tu navegador.