Domina los dev containers en VS Code para estandarizar tu entorno de Node con Docker. Aquí verás cómo aislar dependencias, alinear versiones y ejecutar una API con Express de forma reproducible para todo el equipo, sin dolores de cabeza ni configuraciones manuales repetidas.
¿Qué problema resuelven los dev containers en Docker y VS Code?
Los dev containers unifican el entorno de desarrollo y evitan conflictos de versiones. Si alguien usa Node 21 y otra persona 10 u 11, surgen errores por compatibilidad de versiones. Con un dev container, todo el equipo usa la misma imagen y configuración, logrando homologación del entorno. Además, las dependencias se instalan dentro del contenedor, no en tu sistema.
Aislamiento seguro para pruebas de ciberseguridad: inyección SQL y denegación de servicio sin afectar a terceros.
Estandarización de versiones de Node y herramientas en el proyecto.
Extensiones sincronizadas en VS Code vía devcontainer.json.
Sin Docker build manual: VS Code gestiona la construcción y apertura del contenedor.
Visibilidad en Docker Desktop: verás la imagen de Node en uso y el contenedor activo.
Reproducibilidad desde un repositorio de GitHub con dev container: clona, abre y trabaja sin configurar nada.
¿Cómo crear y abrir un dev container en VS Code?
El flujo es directo y guiado por el asistente de Dev Containers en VS Code. Centraliza todo en una carpeta limpia para mantener tu espacio aislado y ordenado.
Crea una carpeta llamada “dev containers” y ábrela en VS Code.
Crea app.js con una pequeña API de Node.
Abre la paleta: presiona control shift p y busca “Dev Containers”.
Elige agregar configuración de dev container al espacio de trabajo.
Selecciona la opción sugerida: Node y TypeScript con Node 22 por defecto.
Omite características adicionales y archivos opcionales si no los necesitas.
En extensiones de VS Code, añade “Node Essentials” al devcontainer.json desde el engrane: agregar a devcontainer.json.
Reabre el proyecto en contenedor desde la barra amarilla: reabrir en un container.
Espera a que VS Code construya y arranque el entorno; verás las extensiones sugeridas instalándose.
¿Cómo preparar una API de Node con Express?
Dentro del contenedor, las dependencias se quedan en el contenedor. Así tu máquina local permanece limpia y el equipo comparte exactamente el mismo setup.
npm init -y
npminstall express
app.js (ruta /Platzi y puerto 3000):
const express =require('express');const app =express();app.get('/Platzi',(req, res)=>{ res.send('Hola desde un dev container con Express.');});const port =3000;app.listen(port,()=>{console.log(`Escuchando en http://localhost:${port}/Platzi`);});
La terminal ahora indica Node y el nombre del dev container, no WSL.
Los paquetes de npm residen en el contenedor, no en tu entorno local.
En Docker Desktop verás la imagen de Node en uso y el contenedor ejecutándose.
¿Qué habilidades y conceptos refuerzas con esta práctica?
Este flujo conecta conceptos clave del trabajo moderno con contenedores y desarrollo colaborativo. Te ayuda a producir de forma consistente y sin fricción entre equipos.
Docker, contenedores y microservicios: empaquetado y ejecución aislada con orquestadores en mente.
Ciberseguridad en entorno controlado: pruebas de inyección SQL y denegación de servicio sin riesgos externos.
Dev containers y devcontainer.json: definición de entorno, extensiones y configuración compartida.
Compatibilidad de versiones: todos con Node 22 por defecto, sin desalineación.
Productividad en VS Code: instalación automática de extensiones como “Node Essentials”.
Automatización sin Docker build manual: VS Code gestiona la construcción y reapertura.
Observabilidad en Docker Desktop: validación de imagen y contenedor activos.
Reutilización desde GitHub: si el repo trae dev container, clona y ponte a trabajar de inmediato.
¿Te gustaría probarlo en tu equipo o proyecto personal y compartir qué extensiones agregarías al devcontainer.json?