¿Instalas tiempos de ejecución (Node.js, Python, Ruby, etc.) y bases de datos (PostgreSQL, MySQL) directamente en el sistema operativo host cada vez que pruebas un nuevo lenguaje o marco de programación? La “contaminación del entorno del sistema operativo” que le preocupa por conflictos de versiones y archivos basura durante la desinstalación será cosa del pasado si utiliza contenedores Docker. Organizamos los pasos para construir un entorno práctico de desarrollo local en un formato práctico.
¿Por qué no puedes instalarlo directamente en el sistema operativo host?
Los conflictos de versiones, como que el Proyecto A requiere Python 3.10 y el Proyecto B requiere Python 3.12, son comunes. Docker le permite aislar el entorno de ejecución de su aplicación y el middleware como contenedores desechables e independientes. Incluso cuando adquiere una nueva PC, puede recrear instantáneamente un entorno de desarrollo perfecto clonando el repositorio y presionando un solo comando.
Práctica: Configuración mínima de aplicación web + DB compose.yaml
El siguiente es un ejemplo de un compose.yaml estándar que vincula un entorno Node.js y una base de datos PostgreSQL.
services:
app:
build: .
ports:
- "3000:3000"
volumes:
- .:/app
- /app/node_modules
environment:
- DATABASE_URL=postgres://devuser:devpass@db:5432/devdb
depends_on:
- db
db:
image: postgres:16-alpine
restart: always
environment:
POSTGRES_USER: devuser
POSTGRES_PASSWORD: devpass
POSTGRES_DB: devdb
volumes:
- db-data:/var/lib/postgresql/data
ports:
- "5432:5432"
volumes:
db-data:
Dos consejos importantes para un desarrollo fluido
- Recarga en caliente y montaje de volumen: monte de forma vinculante el directorio actual (
.:/app) en el contenedor para reflejar inmediatamente los cambios en el código fuente en el lado del host. Sin embargo, la clave es proteger losnode_modulesy el entorno virtual dentro del contenedor con un volumen anónimo para que no se sobrescriban con carpetas vacías en el lado del host. - Uso de VS Code Dev Containers: al combinar la extensión del editor “Dev Containers”, puede iniciar VS Code en un contenedor y usar sin problemas el motor de finalización del lado del contenedor y linter con la misma sensación operativa que el host.
Obtenga una plataforma de desarrollo limpia y reproducible y concéntrese en escribir código.

