First commit!
This commit is contained in:
commit
70325519df
110
README.md
Normal file
110
README.md
Normal 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!
|
||||
Loading…
x
Reference in New Issue
Block a user