From 8bafa89728a7053858b4e2277a3cc7d5c497b8eb Mon Sep 17 00:00:00 2001 From: Nicolas Crausaz Date: Fri, 28 May 2021 14:04:26 +0200 Subject: [PATCH] Final --- .gitattributes | 1 + README.md | 13 ++++++++----- run_step.sh | 34 ++++++++++++++++++---------------- 3 files changed, 27 insertions(+), 21 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..37ac9c7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +run_step.sh text eol=lf \ No newline at end of file diff --git a/README.md b/README.md index e2240d5..46387ff 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,8 @@ Pour construire notre image et démarrer le container: - `./run_step.sh 1` +Pour information, la configuration par défaut (vHost) se trouve dans /etc/apache2/sites-enabled/000-default.conf + Notre site est ainsi accessible sur [http://localhost:9090/](http://localhost:9090/)
@@ -138,7 +140,7 @@ Cette API dispose de 4 routes: Cette étape consiste à mettre en place un reverse proxy avec apache, en utilisant une configuration statique. Nous avons créé un vHost faisant office de reverse proxy, il est chargé de rediriger une requête HTTP vers le bon serveur en fonction de l'URL de cette requête. -Ainsi, les serveurs internes n'ont pas besoin d'ouvrir des portes en externes. +Ainsi, les serveurs internes n'ont pas besoin d'ouvrir des ports en externes. Le reverse proxy est le seul point d'accès à nos deux services. Dans cette étape la configuration est faite de manière statique, ce qui n'est pas optimal car on doit reconfigurer nos fichiers de configuration et reconstruire notre image si les adresses IP de nos containers ont changés. @@ -161,11 +163,12 @@ Notre configuration est donc: Pour que cette configuration fonctionne, il faut ajouter une entrée DNS dans le fichier HOST de la machine hôte. Voici où est situé le fichier host sur les 3 OS les plus utilisés: -Windows 10 - `"C:\Windows\System32\drivers\etc\hosts"` -Linux - `"/etc/hosts"` -Mac OS X - `"/private/etc/hosts"` -Nous avons donc ajouté la ligne suivante au fichier HOST: +- Windows - `"C:\Windows\System32\drivers\etc\hosts"` +- Linux - `"/etc/hosts"` +- Mac OS X - `"/private/etc/hosts"` + +Dans notre cas, nous avons donc ajouté la ligne suivante au fichier HOST Windows: `localhost reverse.res.ch` diff --git a/run_step.sh b/run_step.sh index 35a6d2d..bf434b1 100644 --- a/run_step.sh +++ b/run_step.sh @@ -33,9 +33,6 @@ if [ "$1" = "purge" ]; then fi exit; fi - #eval `docker rm $(docker ps -a -q)`; - exit; -fi # Flag to omit build if [ "$2" = "--nobuild" ]; then @@ -64,18 +61,23 @@ case "$1" in step1; if [ $OMIT_BUILD = false ] then - eval "docker build -t res/reverseproxy ./step3" + eval "docker build -t res/reverseproxy ./step3"; fi - eval "docker run -d -p 8080:80 --name reverse_proxy res/reverseproxy" + eval "docker run -d -p 8080:80 --name reverse_proxy res/reverseproxy"; ;; 4 ) # Step 4: AJAX requests if [ $OMIT_BUILD = false ] then - eval "docker build -t res/static-ajax ./step4" + eval "docker build -t res/node-express ./step2"; + eval "docker build -t res/reverseproxy ./step3"; + eval "docker build -t res/static-ajax ./step4"; fi - eval "docker run -d --name static_ajax -p 9090:80 res/static-ajax" + + eval "docker run -d --name express_dynamic res/node-express"; + eval "docker run -d --name static_ajax res/static-ajax"; + eval "docker run -d -p 8080:80 --name reverse_proxy res/reverseproxy"; ;; 5 ) @@ -85,12 +87,12 @@ case "$1" in then eval "docker build -t res/node-express ./step2"; eval "docker build -t res/static-ajax ./step4"; - eval "docker build -t res/dynamic-proxy ./step5" + eval "docker build -t res/dynamic-proxy ./step5"; fi - id=$(eval "docker run -d res/static-ajax") + id=$(eval "docker run -d res/static-ajax"); staticIP=$(eval "docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $id")":80"; - id=$(eval "docker run -d res/node-express") + id=$(eval "docker run -d res/node-express"); APIIP=$(eval "docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $id")":3000"; eval "docker run -p 8080:80 -d -e STATIC_APP=$staticIP -e DYNAMIC_APP=$APIIP res/dynamic-proxy"; @@ -105,7 +107,7 @@ case "$1" in then eval "docker build -t res/node-express ./step2"; eval "docker build -t res/static-ajax ./step4"; - eval "docker build -t res/load-balancing ./loadBalancing" + eval "docker build -t res/load-balancing ./loadBalancing"; fi staticNodes='' @@ -113,7 +115,7 @@ case "$1" in for i in {0..2} do - id=$(eval "docker run -d res/static-ajax") + id=$(eval "docker run -d res/static-ajax"); staticNodes+=$(eval "docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $id")":80"; if [ $i != 2 ]; then staticNodes+=","; @@ -122,7 +124,7 @@ case "$1" in for i in {0..2} do - id=$(eval "docker run -d res/node-express") + id=$(eval "docker run -d res/node-express"); APINodes+=$(eval "docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $id")":3000"; if [ $i != 2 ]; then APINodes+=","; @@ -138,7 +140,7 @@ case "$1" in then eval "docker build -t res/node-express ./step2"; eval "docker build -t res/static-ajax ./step4"; - eval "docker build -t res/round-sticky ./round-sticky" + eval "docker build -t res/round-sticky ./round-sticky"; fi staticNodes='' @@ -146,7 +148,7 @@ case "$1" in for i in {0..2} do - id=$(eval "docker run -d res/static-ajax") + id=$(eval "docker run -d res/static-ajax"); staticNodes+=$(eval "docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $id")":80"; if [ $i != 2 ]; then staticNodes+=","; @@ -155,7 +157,7 @@ case "$1" in for i in {0..2} do - id=$(eval "docker run -d res/node-express") + id=$(eval "docker run -d res/node-express"); APINodes+=$(eval "docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $id")":3000"; if [ $i != 2 ]; then APINodes+=",";