#creamos la imagen docker build -t hello-node .
#comprobamos que esta con: docker images
#ejecutar la imagen en un container y mapear puertos docker run -p 4000:3000 hello-node
docker-compose build
#Esto ara que se vayan copiando los cambios de nuestro entorno de trabajo: volumes: - .:/usr/src/app
#Para acceder a la imagen que hemos creado : docker ps #Con esto sabemos el nombre y lo aplicamos: docker exec -it exampleapp bash
#instalamos nodemon para que se reinicie el servidor cuando cambie el codigo npm i nodemon -D
#y lo ejecutamos en script para que este siempre al tanto "dev": "nodemon src/index.js" #cambiamos el arranque de dockerfile CMD ["npm", "run", "dev"]
Empezamos con la creación del repositorio y su consiguiente clonado en el escritorio:
Y el clonado:
A continuación cogemos el zip enviado por la profesora con los documentos: y los ponemos en nuesto documento donde trabajaremos.
A partir de aquí empezamos a crear el dockerfile – el Docker-compose:
Donde primeramente hacemos una conexión con la base de datos, para ello hay que implementar el dump:
El cual para crearlo primeramente debemos instalar el mongoosedump en nuestro ordenador. A partir de aquí iniciar con el Docker-compose build y up para que guarde los parámetros en la base de datos:
Con el ultimo comando nos libramos de hacer el Docker-compose build, puesto que inicia los dos comandos a la vez.
Como podemos ver en nuestra base de datos de mongo están todos nuestros archivos del dump.
A partir de aquí ya habría que empezar con el backend y el frontend: Hacemos una carpeta para cada uno:
En cada carpeta podríamos poner prácticamente los mismos archivos, excepto por cambiar las routes:
Los documentos de cada uno:
Aquí tenemos la routes del backend:
Y aquí las del frontend:
Voy a mostrar los demás documentos para tenerlos en cuenta pero son los mismos, tanto en backend como en frontend:
Database.js
Index.js
Dockerfile-backend donde solo cambia el nombre respecto al de Dockerfile-frontend
Aquí lo muestro:
Y por ultimo el package.json necesario en las dos carpetas para que funcione:
Continuamos con lo necesario en el Docker-compose.yml además de lo que ya teníamos implementamos los campos para el frontend y el
backend:
Cada uno con sus puertos. Y reiniciamos el container,es decir volvemos a usar el Docker-compose up -d
A continuación lo abriremos para cercionarnos de que cada uno esta fucnionando:
Como podemos ver en cada route sale el mensaje escrito, que podemos observar en capturas anteriores. A continuación modifiando otra vez el docke-compose introducimos el siguiente paso que seria la conexión con el mongo-express:
Con esto implementado volvemos a crear el Docker-compose up-d
Aquí lo vemos creado y luego el enlace:
Introducimos usuario: admin y contraseña: pass que podemos encontrar en la documentación
Y ahora con todo esto creamos el nginx: Primero creamos el nginx.conf:
Al cual le debe llegar tanto el backend como el frontend.
Modificamos el Docker-compose.yml
Y le volvemos a dar al comando, anteriormente borrando tod lo creado hasta el momento en imágenes y containers. Y aquí tenemos todo creado en nuestro Docker:
Y en funcionamiento.
Y con esto estaría todo excepto el opcional.