DEV Community

Andres C
Andres C

Posted on

Cómo Dockerizar una Aplicación de Node.js 🚀

Dockerizar tu aplicación de Node.js es una excelente manera de asegurar que se ejecute de manera consistente en cualquier entorno. En este artículo, te mostraré cómo crear un Dockerfile, construir una imagen y ejecutar un contenedor para tu proyecto Node.js.

Paso 1: Configurar el proyecto de Node.js

Comencemos creando una aplicación básica de Node.js.

Archivo: server.js

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('¡Hola, mundo desde Docker!');
});

app.listen(port, () => {
  console.log(`Servidor escuchando en http://localhost:${port}`);
});
Enter fullscreen mode Exit fullscreen mode

Asegúrate de tener un archivo package.json con las dependencias necesarias:

npm init -y
npm install express
Enter fullscreen mode Exit fullscreen mode

Paso 2: Crear un Dockerfile

El Dockerfile es un archivo que define cómo construir la imagen de tu contenedor.

Archivo: Dockerfile

# Utilizar una imagen base de Node.js
FROM node:16-alpine

# Crear un directorio de trabajo
WORKDIR /app

# Copiar los archivos de la aplicación al contenedor
COPY package*.json ./
COPY server.js ./

# Instalar dependencias
RUN npm install

# Exponer el puerto de la aplicación
EXPOSE 3000

# Comando para ejecutar la aplicación
CMD ["node", "server.js"]
Enter fullscreen mode Exit fullscreen mode

Paso 3: Crear el archivo .dockerignore

Para evitar copiar archivos innecesarios al contenedor, crea un archivo .dockerignore:

Archivo: .dockerignore

node_modules
npm-debug.log
Enter fullscreen mode Exit fullscreen mode

Paso 4: Construir la imagen Docker

Usa el siguiente comando para construir la imagen:

docker build -t nodejs-app .
Enter fullscreen mode Exit fullscreen mode

Paso 5: Ejecutar el contenedor

Inicia un contenedor con la imagen que acabas de crear:

docker run -p 3000:3000 nodejs-app
Enter fullscreen mode Exit fullscreen mode

Abre tu navegador y accede a http://localhost:3000. ¡Deberías ver el mensaje "¡Hola, mundo desde Docker!"! 🎉


Paso 6: Opcional - Publicar la imagen en Docker Hub

Si deseas compartir tu imagen, primero inicia sesión en Docker Hub:

docker login
Enter fullscreen mode Exit fullscreen mode

Luego etiqueta tu imagen y publícala:

docker tag nodejs-app tu-usuario/nodejs-app
docker push tu-usuario/nodejs-app
Enter fullscreen mode Exit fullscreen mode

Conclusión

Dockerizar una aplicación de Node.js es fácil y útil para garantizar la portabilidad de tu código. Este es solo el comienzo: puedes agregar herramientas como docker-compose o crear configuraciones más avanzadas.


Espero que este tutorial te haya sido útil. Si tienes dudas, ¡deja un comentario! 😊

Top comments (0)