From 70325519dfe25769348a41e514eb18e78190f373 Mon Sep 17 00:00:00 2001 From: msaldain Date: Fri, 23 May 2025 00:56:23 -0300 Subject: [PATCH] First commit! --- README.md | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..33591cc --- /dev/null +++ b/README.md @@ -0,0 +1,110 @@ + +# Proyecto Node.js con Docker + +Este proyecto es una aplicación Node.js containerizada usando Docker y Docker Compose, con entornos separados para desarrollo y producción. A continuación, se explica cómo configurar y ejecutar la aplicación en ambos entornos. + +## Estructura del Proyecto + +``` +. +├── Dockerfile.dev # Dockerfile para entorno de desarrollo +├── Dockerfile.prod # Dockerfile para entorno de producción +├── docker-compose.dev.yml # Archivo de configuración para entorno de desarrollo +├── docker-compose.prod.yml # Archivo de configuración para entorno de producción +├── package.json # Dependencias del proyecto Node.js +├── src/ # Código fuente de la aplicación +└── ... +``` + +## Prerequisitos + +Antes de comenzar, asegúrate de tener instalado: + +- [Docker](https://www.docker.com/get-started) +- [Docker Compose](https://docs.docker.com/compose/install/) + +## Configuración + +### 1. Instalar dependencias + +Primero, asegúrate de tener todas las dependencias necesarias para tu proyecto. Si aún no tienes el archivo `package.json`, ejecuta: + +```bash +npm init -y +``` + +Luego, instala las dependencias necesarias para tu aplicación: + +```bash +npm install express +npm install --save-dev nodemon +``` + +### 2. Estructura de los Dockerfiles + +- **`Dockerfile.dev`**: Configuración para el entorno de desarrollo. +- **`Dockerfile.prod`**: Configuración para el entorno de producción. + +### 3. Configuración de Docker Compose + +- **`docker-compose.dev.yml`**: Configuración para el entorno de desarrollo. Utiliza `nodemon` para recargar la aplicación automáticamente. +- **`docker-compose.prod.yml`**: Configuración para el entorno de producción. Instala solo las dependencias necesarias para producción. + +## Uso + +### 1. Entorno de Desarrollo + +Para levantar el entorno de desarrollo y comenzar a trabajar, ejecuta: + +```bash +docker compose -f docker-compose.dev.yml up --build +``` + +Esto hará lo siguiente: +- Construirá la imagen usando el `Dockerfile.dev`. +- Levantará el contenedor en el puerto `3000`. +- Con `nodemon` instalado, cualquier cambio que realices en el código será automáticamente reflejado en el contenedor. + +Puedes acceder a la aplicación en tu navegador en `http://localhost:3000`. + +### 2. Entorno de Producción + +Para ejecutar el entorno de producción (sin dependencias de desarrollo), ejecuta: + +```bash +docker compose -f docker-compose.prod.yml up --build +``` + +Esto: +- Construirá la imagen usando el `Dockerfile.prod`. +- Levantará el contenedor en el puerto `3000`. + +En este entorno no se instalarán dependencias de desarrollo y es más ligero para producción. + +### 3. Detener los contenedores + +Si necesitas detener los contenedores en ejecución, puedes usar: + +```bash +docker compose down +``` + +Para eliminar también las imágenes, ejecuta: + +```bash +docker compose down --rmi all +``` + +## Notas adicionales + +- Si necesitas acceder al contenedor para depurar o inspeccionar archivos, puedes hacerlo con el siguiente comando: + +```bash +docker exec -it sh +``` + +- Si tienes alguna duda o problema, no dudes en contactarnos o abrir un issue en el repositorio. + +--- + +¡Disfruta trabajando con tu aplicación Node.js containerizada!