Para buildear, por favor ejecutar. Y posteriormente compose up para ejecutar dichos contenedores.
docker compose build --no-cache
docker compose up -d
Tiempo estimado de la tarea: 3 hs.
Tiempo total dedicado: 3hs 35 min.
Se evaluará la calidad de código de los respectivos servidores, así como prácticas de seguridad, arquitectura del software & código limpio.
Posteriormente, se procederá a realizar el análisis de los respectivos dockerfiles de cada servidor, evaluando la necesidad de rehacerlos completamente, editarlos, o decidir que no existe necesidad de cambios.
Para cada instancia del flujo definido, se realizará documentación concisa la cual podrá ser compartida con el equipo de trabajo.
- El Dockerfile estaba vacio.
- Se creó un Dockerfile teniendo en cuenta la compilación de Golang.
- Incompatibilidad de archivos: Tenemos por un lado, un archivo .node-version que nos indica la versión 14.16.1 mientras que en nuestro Dockerfile, está usando la versión 16 (LTS).
- Problema de puertos: Nuestro Dockerfile no expone ningún puerto.
- Se cambió la versión usada en nuestro Dockerfile a la que corresponde (14x). Además, se usó una versión alpine con fines de comprimir nuestra imágen de forma poco invasiva.
- Se agregó la exposición al puerto 3000.
- La configuración default escuchaba sólo en el puerto 80.
- Los proxy pass venian escuchando a un puerto en localhost por defecto.
- Se agregó una variable extra para que escuche cualquier puerto ó, el puerto 80.
- Se sustituyó dicho localhost con su respectivo puerto, linkeando su respecivo service de nuestro docker compose.
- No existía un docker-compose
-
Se creó un docker-compose con el respectivo servicio para cada caso mencionado anteriormente, siendo los mismos:
⇒ node, golang, nginx
-
Para cada uno de estos servicios listados, se definió la misma network en uso. Finalmente, se usó el driver bridge para linkearlas.