bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


docker-compose

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
docker-compose [2022/01/17 09:43]
enrique_mieza_sanchez [Docker Compose]
docker-compose [2023/10/17 18:28] (actual)
enric_mieza_sanchez [Escalat amb Wordpress]
Línia 12: Línia 12:
 Segueix a: Segueix a:
   * [[Docker upgrade de containers]]   * [[Docker upgrade de containers]]
 +  * [[Dockerfile]]
  
  
Línia 75: Línia 76:
 A la mostra veiem que cada node té assignat un port, començant pel 49159. Els nombres de port i de container no tenen perquè ser correlatius. Podem accedir-hi mitjançant el //browser// a la URL: A la mostra veiem que cada node té assignat un port, començant pel 49159. Els nombres de port i de container no tenen perquè ser correlatius. Podem accedir-hi mitjançant el //browser// a la URL:
   http://localhost:32768   http://localhost:32768
-  + 
 +\\ 
 ===== Balanç de càrrega amb HAProxy ===== ===== Balanç de càrrega amb HAProxy =====
 Per a arrodonir aquest exercici necessitem un balancejador de càrrega que enllaci amb un o altre node web. Per a arrodonir aquest exercici necessitem un balancejador de càrrega que enllaci amb un o altre node web.
Línia 103: Línia 106:
  
 Ho aixequem tot amb: Ho aixequem tot amb:
-  docker-compose up -d scale web=3+  docker-compose up -d --scale web=3
      
 Comprovem que estan en marxa els 3 nodes web amb + el HAProxy amb: Comprovem que estan en marxa els 3 nodes web amb + el HAProxy amb:
Línia 116: Línia 119:
  
 <WRAP todo> <WRAP todo>
 +Anem a fer un ''docker-compose'' de Wordpress escalable.
   * Crea un docker-compose a partir de l'[[https://hub.docker.com/_/wordpress|exemple oficial de la pàgina de Docker Wordpress]]   * Crea un docker-compose a partir de l'[[https://hub.docker.com/_/wordpress|exemple oficial de la pàgina de Docker Wordpress]]
   * Configura'l per a poder escalar el contenidor de wordpress (el de la base de dades ha de ser únic).   * Configura'l per a poder escalar el contenidor de wordpress (el de la base de dades ha de ser únic).
-  * Afegeix també un ''HAProxy'' com el de l'exemple anterior.+  * Afegeix també un LB (o //load balancer//''HAProxy'' com el de l'exemple anterior.
   * En total ha de tenir 3 serveis: wordpress, db i lb.   * En total ha de tenir 3 serveis: wordpress, db i lb.
 +  * Assegura't que:
 +    * El //service// ''wordpress'' no té assignat un port extern (si ho té, no podrà escalar).
 +    * No t'interfereix la instal·lació de Wordpress anterior. Per assegurar-ho fes una nova carpeta amb nova instal·lació. Si vols aprofitar la que tenies, mira que el port del LB (HAProxy) sigui el mateix que el de la instal·lació anterior.
 +    * El LB apunta al servei ''wordpress'', i no al ''web'' de l'exemple.
   * Comprova que funciona correctament escalant a 4 instàncies de Wordpress i que pots connectar-te a través del port configurat al HAProxy.   * Comprova que funciona correctament escalant a 4 instàncies de Wordpress i que pots connectar-te a través del port configurat al HAProxy.
-  * Per assegurar-nos de que realment HAProxy alterna entre els diferents nodes, edita l'arxiu de Wordpress per a forçar a mostrar la IP del servidor. <code> +  * Per assegurar-nos de que realment HAProxy alterna entre els diferents nodes, forçarem a mostrar la IP del servidor. Farem un //hack// per mostrar la IP del container que ens està servint:<tabbox Opció hack 1> 
-$ sudo vi /var/lib/docker/volumes/scaled-wp_wordpress/_data/wp-content/themes/twentytwentyone/index.php+      * Edita l'arxiu:<WRAP prewrap><code> 
 +$ sudo vi /var/lib/docker/volumes/scaled-wp_wordpress/_data/index.php 
 +</code></WRAP> 
 +      * Introdueix aquesta línia just després del ''define'':<code> 
 +echo "IP Address: ".$_SERVER["SERVER_ADDR"];
 </code> </code>
-    Depenent de la versió de Wordpress pot canviar el nombre del //theme//. +<tabbox Opció hack 2 (theme twentytwentyone)> 
-  * Introdueix aquesta línia després del get_header():<code>+   Activa el tema ''twentytwentyone'' (fons verd) des de l'admin panel del wordpress. 
 +   * Edita l'arxiu:<WRAP prewrap><code> 
 +$ sudo vi /var/lib/docker/volumes/scaled-wp_wordpress/_data/wp-content/themes/twentytwentyone/header.php 
 +</code></WRAP> 
 +   * Introdueix aquesta línia després del ''wp_body_open()'':<code>
 echo "IP Address: ".$_SERVER["SERVER_ADDR"]; echo "IP Address: ".$_SERVER["SERVER_ADDR"];
 </code> </code>
-  * Comprova ara que a l'anar a la //main page// del Wordpress es visualitza la IP i que al recarregar anem alternant entre les diverses IPs.+</tabbox> 
 +  * **Comprova ara que a l'anar a la //main page// del Wordpress es visualitza la IP i que al recarregar anem alternant entre les diverses IPs**.
  
 </WRAP> </WRAP>
docker-compose.1642412585.txt.gz · Darrera modificació: 2022/01/17 09:43 per enrique_mieza_sanchez