Skip to content

Orquestación de 2 aplicaciónes node para crear un entorno de trabajo Backend (Express) y Frontend (React).

Notifications You must be signed in to change notification settings

brandonruizmora/docker-express-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker

Requerido

Docker desktop Download link

o

Docker ubuntu

Uninstall older versions sudo apt-get remove docker docker-engine docker.io containerd runc

Install last version sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


Descripción

Crear un espacio de trabajo de 2 aplicaciones node. Una aplicación backend en express y otra aplicación frontend en react.


Pasos

  1. Crear aplicación backend
  2. Crear aplicación frontend
  3. Crear Dockerfile de las 2 aplicaciones
  4. Crear docker-compose.yml
  5. Ejecutar Servicios
  6. Terminar servicios y borrar imágenes

1. Crear aplicación backend

Para empezar con el proyecto backend creamos la carpeta der-api-web. Dentro del directorio se usara el comando npm init para inicializar el proyecto. Luego instalaremos express y cors, para poder iniciar nuestra api, esto lo haremos con el comando npm i express cors. Después podemos crear nuestro archivo index.js que correra nuestra aplicación. Para verificar que esta funcionando se usara el comando node index.js. Finalmente verificamos que nuestro backend se este ejecutando correctamente.

1 2 3 4 5

2. Crear aplicación frontend

Para empezar con el proyecto frontend se usara el comando yarn create vite para crear el proyecto. Luego dentro del directorio instalaremos todas las dependencias con el comando yarn. y Ejecutaremos la aplicación con el comando yarn dev. y verificamos que nuestro frontend se este ejecutando correctamente.

6 7 8 9

3. Verificar que las 2 aplicaciones se puedan comunicar.

Para verificar que el frontend se pueda comunicar correctamente con el backend utilizaremos fetch. Dentro de App.jsx agregaremos una función que haga una petición al api local, cuando se haga clic a un botón, Si la petición se hace correctamente se mostrara un mensaje de alerta y el texto del botón cambiara a la respuesta del api.

10 11 12 13

4. Crear Dockerfile de las 2 aplicaciones

Dockerfile API

Dentro de la aplicación der-api-web creamos el archivo Dockerfile con los siguiente elementos.

14

Indicamos la imagen base, creamos el directorio donde se guardara la aplicación, copeamos el contenido de nuestra aplicación local a el directorio creado, definimos el directorio de trabajo, hacemos la instalación de las dependencias, exponemos el puerto que se usara, y finalmente el comando para ejecutar nuestra aplicación.

Dockerfile UI

Dentro de la aplicación der-api-web creamos el archivo Dockerfile con los siguiente elementos.

15

Indicamos la imagen base, creamos el directorio donde se guardara la aplicación, copeamos el contenido de nuestra aplicación local a el directorio creado, definimos el directorio de trabajo, hacemos la instalación de las dependencias, exponemos el puerto que se usara, y finalmente el comando para ejecutar nuestra aplicación.

5. Crear docker-compose.yml

En la carpeta raiz de nuestros 2 proyectos creamos el archivo docker-compose.yml con los siguientes elementos.

16

La versión de escritura, los servicios que se usaran, de donde se crearan las imagenes, que nombre tendran el contenedor creado, y que puertos se mapearan.

6. Ejecutar Servicios

Para crear las imagenes correspondientes de nuestros proyectos, crear los contenedores, red para comunicarse entre contenedores utilizaremos el comando docker compose up.

17

Ahora podemos revisar localhost:3000 para ver nuestro API

18

También localhost:5173 para ver nuestra UI

19

7. Terminar servicios y borrar imágenes

Para terminar podemos borrar los contenedores y red con el comando docker compose down. y borrar las imagenes con el comando docker image rm.

20

About

Orquestación de 2 aplicaciónes node para crear un entorno de trabajo Backend (Express) y Frontend (React).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published