First commit!

This commit is contained in:
Mateo Saldain 2025-05-23 00:56:23 -03:00
commit 70325519df

110
README.md Normal file
View File

@ -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 <container_id> 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!