Saltar al contenido principal
MDev Env Pro
Curso: 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.